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

串口自定义协议框架说明

概述

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

框架说明

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

循环执行

图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

串口自定义协议框架说明

概述

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

框架说明

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

循环执行

图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


相关文章

  • 西门子S7_200PLC与组态王的无线通信Modbus方案
  • 在这里介绍一种PLC的MODBUS无线组态通信的实现方法.本方案可以作为西门子PLC与组态王通信的实例. 在工业现场可能会遇到这样的情况,分布在不同地方(车间.控制室场所等)的PLC需要与总控中心的组态王软件进行远程通信,通常情况是采用有线 ...查看


  • 嵌入式IP协议栈需求说明书
  • 文档编号: 密级:内部 嵌入式IP 协议栈 需求规格说明书 二零一三年三月 需求规格说明书 关于本文档 1 2 3 目录 引言 . ...................................................... ...查看


  • 智能家居系统方案设计
  • 智能家居系统 方案设计文档 目 录 0. 文档介绍 ...................................................... 3 0.1 文档目的 ............................ ...查看


  • 触摸屏收款机说明书
  • 第四代嵌入式触摸屏第四代嵌入式触摸屏 收银机 使 用 说 明 书 收款机使用规范 收款机使用规范 请认真阅读并遵守本规定,以确保您的收款机能正常工作. 1. 在使用过程中,必须采用符合国家标准的带地线的电源. 2. 避免收款机与其它大功率电 ...查看


  • 线圈检测器使用说明
  • LTD 线圈检测器 使用说明书 版本号:Version 2.0 编码:401032001 深圳市哈工大交通电子技术有限公司 Shenzhen HIT Traffic Electronic Technology Co. Ltd. 日期:200 ...查看


  • 蓝牙通用外接模块实例
  • 蓝牙是一种短距离无线通信技术.本文从蓝牙协议栈中的HCI 层入手,对该层的主要功能和工作机制进行了剖析,进而阐述了基于HCI 层的蓝牙应用开发方案,并设计了一个基于蓝牙技术开发的产品实例--蓝牙通用外接模块,最后,还对基于此模块的扩展应用- ...查看


  • 物联网教学实验系统
  • CVT-WSN物联网教学实验系统 武汉创维特信息技术有限公司 ★ 核心CPU采用三星公司S5PV210 ★ 基于Cortex-A8内核,主频高达1GHz ★ 内存:512MB/1GB DDR2内存 ★ FLASH:1GB NandFlash ...查看


  • 变频器应用实训
  • PLC .变频器.触摸屏综合应用技能实训 实训三十五 变频器功能参数设置与操作 一. 实训目的 1. 了解变频器基本操作面板(BOP )的功能. 2. 掌握用操作面板(BOP )改变变频器参数的步骤. 3. 掌握用基本操作面板(BOP )快 ...查看


  • 六足爬行机器人使用说明
  • 教学型六足爬行机器人参考手册 1.主要技术参数: 包括 : 1) 六足爬行机器人机器人: ● 主控制器为MT-U 控制盒 ● ● ● ● ● 2) 12自由度 独立驱动电源/电池供电:6V ,2000 mAH, 专用充电器,自动检测充电状态 ...查看


热门内容