步科触摸屏串口自定义协议框架说明

更新时间:2023-10-02 12:27:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

串口自定义协议框架说明

概述

串口自定义协议的驱动目前可以支持三个串口同时定制自由协议,分别为Customized UART protocol1,Customized UART protocol2,Customized UART protocol3,可对应三个串口。组态的使用方式同其他的PLC组态方式一样,直接连接屏即可,通过LW和LB寄存器进行数据的交换。

框架说明

串口自定义协议程序的流程图

循环执行ProcessComx

图1

需要用户实现的函数

void ProcessComx(int fd)

调用方式:周期执行,间隔可调用Delay函数来加大循环周期,fd为串口句柄 功能:用户程序的“main函数”

供用户调用的API函数

void Delay(int ms)

功能:用于延迟ProcessComx的运行周期,防止频繁读写,减轻控制器的通信压力 参数:ms的单位为毫秒, 非零

int ReadData(int fd, unsigned char *read_buff, int count, int ms)

功能:从串口读取count个数据,存放在read_buff中。ms是读数据超时时间。 参数:ms的单位为毫秒, 非零

int WriteData(int fd, unsigned char *read_buff, int count)

功能:从串口发送count个数据,发送数据存放在read_buff中。

unsigned short Read_LW(unsigned int n)

功能:读取LWn的寄存器的值 参数:n偏移量,最大为9999

void Write_LW(unsigned int n,unsigned short val) 功能:将val 写入LWn的寄存器

参数:n偏移量、最大8999,val待写入的值

void CopyToLW(unsigned int offset,const void *src, int n)

功能:由src所指的内存区域复制n个字节到Lw_offset所在的内存区域 参数:src和LW_offset所在的内存区域不能重叠

void CopyFromLW(unsigned int offset,const void *src, int n)

功能:由Lw_offset所在的内存区域到src所指的内存区域复制n个字节 参数:src和LW_offset所在的内存区域不能重叠

void SetLBON(unsigned int n) 功能:设置LBn寄存器为1 参数:n偏移量、最大8999

void SetLBOFF(unsigned int n)

功能:设置LBn寄存器为0 参数:n偏移量、最大8999

int GetLB(unsigned int n)

功能:读取LBn寄存器的状态 参数:n偏移量、最大9999

int SetLWBON(unsigned int n, unsigned int offset)

功能:设置LW.b寄存器为1,如设置LW5.4,则n=5,offset=4 参数:n偏移量、最大8999,offset最大为16

int SetLWBOFF(unsigned int n, unsigned int offset)

功能:设置LW.b寄存器为0,如设置LW5.4,则n=5,offset=4 参数:n偏移量、最大8999,offset最大为16

int GetLWB(unsigned int n, unsigned int offset)

功能:读取LW.b寄存器的状态,如设置LW5.4,则n=5,offset=4 参数:n偏移量、最大9999,offset最大为16

如何生成驱动

1. 用全功能版的cygwin覆盖EV5000中的

2. 在cygwin所在目录新建一个名为“customized_driver”文件夹

3. 在custmoized_driver目录下是三个文件夹,分别代表可自定义的三种自由协议

图2

4. Cusomized UART Protocolx目录中的内容如图3所示,其中COMx.c由用户编写(提供参

照样例),其他的由Kinco提供

图3

5. COMx.c编写好后,运行build.bat批处理文件,即可在\\lib\\plc目录生成Customized UART

protocolx.so驱动(见图4),Customized UART protocolx.ge是与该驱动配套的文件,固定不变。

图4

编译、生成驱动

编写好程序后,只需运行图3中的“build.bat”批处理文件即可生成驱动文件,生成的驱动文件位于EV5000安装目录下\\lib\\plc中,名称为“Customized UART protocolx.so” “Customized UART protocolx.ge”

如何使用驱动

1. 在组态工程中,添加HMI和自由协议的PLC,如图5

2.

图5

串口通信参数(通信模式,波特率,数据位等等)的设置在HMI属性页面

图6

2. 制作自己的组态画面,目前组态画面与自由协议之间,通过LW和LB来交换数据

注意事项:

1. 目前支持的波特率是4800,9600,19200,38400,57600,115200,模式为COM0

232/485/422,COM1 232/485/422,COM2 232

本文来源:https://www.bwwdw.com/article/z75d.html

Top