还剩3页未读,继续阅读
文本内容:
串口自定义协议框架说明概述串口自定义协议的驱动目前可以支持三个串口同时定制自由协议,分别为CustomizedUARTprotocol1,CustomizedUARTprotocol2,CustomizedUARTprotocol3,可对应三个串口组态的使用方式同其他的PLC组态方式一样,直接连接屏即可,通过LW和LB寄存器进行数据的交换框架说明串口自定义协议程序的流程图�ProcessComx�循环执行图1需要用户实现的函数voidPro__ssComxintfd调用方式周期执行,间隔可调用Delay函数来加大循环周期fd为串口句柄功能用户程序的“__in函数”供用户调用的API函数voidDelayintms功能用于延迟Pro__ssComx的运行周期,防止频繁读写,减轻控制器的通信压力参数ms的单位为毫秒非零intReadDataintfdunsignedchar*read_buffintcountintms功能从串口读取count个数据,存放在read_buff中ms是读数据超时时间参数ms的单位为毫秒非零intWriteDataintfdunsignedchar*read_buffintcount功能从串口发送count个数据,发送数据存放在read_buff中unsignedshortRead_LWunsignedintn功能读取LWn的寄存器的值参数n偏移量,最大为9999voidWrite_LWunsignedintnunsignedshortval功能将val写入LWn的寄存器参数n偏移量、最大__99,val待写入的值voidCopyToLWunsignedintoffsetconstvoid*srcintn功能由src所指的内存区域__n个字节到Lw_offset所在的内存区域参数src和LW_offset所在的内存区域不能重叠voidCopyFromLWunsignedintoffsetconstvoid*srcintn功能由Lw_offset所在的内存区域到src所指的内存区域__n个字节参数src和LW_offset所在的内存区域不能重叠voidSetLBONunsignedintn功能设置LBn寄存器为1参数n偏移量、最大__99voidSetLBOFFunsignedintn功能设置LBn寄存器为0参数n偏移量、最大__99intGetLBunsignedintn功能读取LBn寄存器的状态参数n偏移量、最大9999intSetLWBONunsignedintnunsignedintoffset功能设置LW.b寄存器为1如设置LW
5.4,则n=5,offset=4参数n偏移量、最大__99,offset最大为16intSetLWBOFFunsignedintnunsignedintoffset功能设置LW.b寄存器为0如设置LW
5.4,则n=5,offset=4参数n偏移量、最大__99,offset最大为16intGetLWBunsignedintnunsignedintoffset功能读取LW.b寄存器的状态如设置LW
5.4,则n=5,offset=4参数n偏移量、最大9999,offset最大为16如何生成驱动
1.用全功能版的cygwin覆盖EV5000中的
2.在cygwin所在目录新建一个名为“customized_driver”文件夹3.在custmoized_driver目录下是三个文件夹,分别代表可自定义的三种自由协议图
24.CusomizedUARTProtocolx目录中的内容如图3所示,其中COMx.c由用户编写(提供参照样例),其他的由Kinco提供图
35.COMx.c编写好后,运行build.bat批处理文件,即可在\lib\plc目录生成CustomizedUARTprotocolx.so驱动(见图4),CustomizedUARTprotocolx.ge是与该驱动配套的文件,固定不变图4编译、生成驱动编写好程序后,只需运行图3中的“build.bat”批处理文件即可生成驱动文件,生成的驱动文件位于EV5000__目录下\lib\plc中,名称为“CustomizedUARTprotocolx.so”“CustomizedUARTprotocolx.ge”如何使用驱动
1.在组态工程中,添加HMI和自由协议的PLC,如图5图
52.串口通信参数(通信模式,波特率,数据位等等)的设置在HMI属性页面图
62.制作自己的组态画面,目前组态画面与自由协议之间,通过LW和LB来交换数据注意事项
1.目前支持的波特率是48009600192003840057600115200,模式为COM0232/485/422,COM1232/485/422COM
22322.。