合信论坛

快捷导航
查看: 9557|回复: 0

如何使用合信CTH200 PLC建立自由口通讯

[复制链接]

15

主题

17

帖子

986

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
986
发表于 2019-11-20 14:56:12 | 显示全部楼层 |阅读模式
本帖最后由 lichi 于 2019-11-20 14:58 编辑

1、建立自由口通讯,首先要在特殊寄存器SMB30(自由口0控制寄存器)或SMB130(自由口1控制寄存器)定义好自由口通讯的波特率、协议选择、校验、数据位。本次设置是波特率9600   自由口  无校验  8数据位  。
1.png 2.png

2然后通过SMB87(P0接收信息控制字节)定义接收信息起始判断。(下面例子是通过开始字符和结束字符判断接收信息的开始和结束),开始和结束字符在
SMB88(P0信息字符的开始)、SMB88(P0信息字符的结束)定义,在SMB94(P0接收字符的最大数(1到255字节)。注意:这个区一定要设为希望的最大缓冲区,即使不使用字符计数信息终止。)定义接收最大允许字符数
本次设置是使用 起始字符(SMB88=@)   结束字符(SMB89=回车)=16#0D SMB94:最大接受字符数255
3.png

3、连接中断,本次例子主要用中断事件号9(端口0:发送信息完成)和中断事件号23(端口0:接收信息完成),在此例子中给的就是,初始激活一次接收指令,接收完成进入端口0:接收信息完成中断,在此中断中进行数据运算完成之后,把运算完成后的数据发送出去。发送完成之后进入端口0:发送信息完成中断,在此中断中再次执行接收信息,等待下一个开始字符的到来。按照上面的顺序循环,一直执行接收上位机采集命令完成后发送返回数据。
4.png 5.png 6.png 7.png

4、RCV接受指令和XMT发送指令都有一个TBL参数,其指令缓冲区定义如下图所示,RCV接收指令的T+0个字节表示接收字节的个数接收完成后清零。XMT发送指令的T+0个字节表示发送字节的个数,在发送之前必须要要定义好。



8.png 9.png
5、此协议为COVI通讯协议1.上位机采集命令  @740RXXXCMD+回车  XXX为下位机的地址码,范围从0x000~0xFFF2.返回数据格式   例如:  @740#XXXVI02346CO12345-2500[回车  "@740#" 是返回数据固定的数据头;  "XXX"   是返回数据的下位机地址位;  "VI"    消光系数数据的起始标识;  "02346" 消光系数的数据;值为:2.346 1/km  "CO"    CO数据的起始标识;  "12345" CO的数据;值为123.45 ppm  "- "    表示温度是负的,若温度不是负数,则此位用空格表示;  "25"    表示的是温度值;  "00"    预留位置;  “[”    和校验位,表示从数据串的第2位开始,到故障状态位为止,所有字节        累加和的低字节        所得到的结果  数据串的后面添加
例程在附件。




SMB87.png

自由口作业.zip

19.89 KB, 下载次数: 1810

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服热线
400-700-4858 周一至周五:09:00 - 18:00
深圳市南山区打石一路深圳国际创新谷6栋A座9层

深圳市合信自动化技术有限公司(简称“合信技术”)成立于2003年,高新技术企业,专注于工业自动化产品的研发、生产、销售和技术服务,依靠高质量、高性能的自动化控制产品与方案为客户创造最大价值,立志于成为全球领先的工业自动化解决方案供应商。

Archiver|手机版|小黑屋|COTRUST Inc. ( 粤ICP备13051915号 )

GMT+8, 2024-3-28 20:41 , Processed in 0.073163 second(s), 23 queries .

快速回复 返回顶部 返回列表