欧姆龙cp1h常用指令学习(四)串口无协议读写指令TXD,RXD

(六)串口无协议读写指令RXD、TXD

有了串品读写,PLC就可以发信息给上位机,这样可以做许多有意思的事情,比如写个小游戏,可以让PLC做逻辑,上位机程序负责更新界面。

RXD为读串口,TXD为写串口。
下面的程序中,A526.01的作用如下:

当通讯突然中断时,缓冲区内的数据一直保存,事实上,RXD指令并不负责清空缓冲区,换句话说,缓冲区内始终为接收的数据。

所以,如果遇到这种问题,你可以执行A526.0或者A526.1为ON,进行串口初始化,这样你可以清空缓冲区。

当使用的是串口1时,A392.14当满足接收条件时置为ON(这个条件就是串口设置面板中的“结束码”中设置的条件)就代码此时串口已经收到了数据了,你可以查看内存D0验证。
当满足了发送条件时,你会看到A392.13为ON,此时会把D10起头的2个字发送出去。注意控制字#101中包含了一条信息就是发送口为串口1


代码:

支付2元或购买VIP会员后,才能查看本内容!立即支付升级会员查询订单


勇哥花了2天都没有调通上面的程序,因为我发现A392.13,A392.14始终为OFF!
我怀疑过线是不是有问题?是不是指令哪里有问题?是不是串口设置有问题?就差没怀疑自己人品有问题了。
勇哥使用的是USB转串口线,品牌Z-TEK 使用芯片FT232,这里强调的是,这种USB转232是兼容性最好的一款,事实证明这条线是绝对没有问题的!
image.png

官方罗列了串口读写指令没有效果的原因:

① 观察串口 COM 指示灯,如果灯不闪: 
a. 检查和第三方设备通信电缆制作是否正确,管脚接线是否有断线或者是短路;
b. 对方设备的串口数据是否有发送。
② 如果串口 COM 指示灯会亮,说明对方设备有数据发送且接线正常:
a. 检查串口模式设置为 RS232C 模式;
b. 检查串口的 DIP 开关设置; 
c. 核对 RXD 指令的控制字设置为无 CS,DR 信号控制; 
d. 检查 RXD 指令的执行条件,如果使用的是接收完成标志位,核对串口设置中的起始码,结束码,字节数与第三方的发送数据是否是一致,可以使用电脑利用串口调试软件来接收第三方发送的数据来进行验证;
e. 检查串口错误标志位和错误代码。


其实,勇哥测试串口收发的时候遇到无效果的原因并不是上面罗列的这些,而我设置串口的时候,并没有把设置保存成功!


正确的做法是在设置好串口参数后,使用下图所示的“到PLC”

image.png

注意一定要勾选“设置”项目,不然你刚才修改的PLC串口1的设置就没有保存成功!

image.png

错误的方式是使用工具栏上那个下载到plc按钮,它的下载选项里面不包含“设置”选项的。
之前勇哥之所以串口读写不成功的原因是因为使用这个下载功能,造成串口设置实际上没有保存成功,每天重新上电后其实PLC的串口设置还是原来的设置,没有变化的。

image.png

注:后来发现这个“传送到plc”就工具栏上的划线的功能,而不是右边没划线的。之前一直都是用错了!
image.png


程序测试效果


(1)读串口助手发来的字符串

注意串口内容发送字符串最后加一个CR符,即回车

image.png

查看plc内存,看到收到了串口助手发来的字符。
image.png
如果想重新再收发,你得接下1.09,置位A526.01清除串口缓存。


(2)向串口助手发送字符


先按下1.09, 这时候内在数据清空,串口缓冲也清空,然后你会发现A392.13为on,这时候证明发送条件已经满足了。

我们先人工初始化d10的内存数据

image.png
打开串口助手,配置好参数,然后按下1.07

我们观察到串口助手显示收到4个字节,收到字符ba
为什么不是ab,而是ba呢?这是因为在TXD的控制字#101里面,有一条是发送时设置低字节先发送。这个要搞明白就要知道控制字的详细设置。

image.png

另外,不知道你注意到没有,勇哥在发送到串口助手时,这个串口助手不一样哦?!

为什么?

因为我用接收实验时那个串口助手,收不到plc串口发出来的内容!!!又多告诉你们一个秘密!这就是为什么许多童鞋搞不定串口发送的原因!

这个原因勇哥想了一下,可能是控制字的设置中的一些内容,某些串口助手编程时其默认条件中没考虑到。
所以各位童鞋,有多个不同的串口助手软件是很重要的哦!



另外,TXD命另有一篇教程请参看下面的贴子。

OMRON_CP1H串口无协议通讯(TXD指令)



串口收发还有一对指令是RXDU,TXDU。

RXDU,TXDU用于读写串口通讯单元,这个是附加模块,例如CJ1W-SCU41

这个模块勇哥截了个图,如下。

image.png image.png
引用官方的介绍如下,涨下姿式:

看了介绍,可能这个模块比起主机的串口来说可能通讯距离是个优势吧。说错了的话请懂的童鞋指正。

1.2及1.3以上的版本,CJ一个机架最多可带10块SCU;另外,CP1H最多可带2块。
2.0版本的SCU,除了支持CJ、CP1H外,还支持NJ上。
②支持协议的区别
1.2版本以上的SCU模块相比1.2以下版本支持了更多协议(Host link,NT Link,无协议,串口网关,Modbus-RTU从站(仅V1.3)…等。
③速度区别
>V2.0——230,400bps
≥ V1.2 及V1.3——57,600bps
<v1.2——38,400bps
④其他区别
2.0版相比1.3版,增加了高速处理的无协议指令(DRXDU、DTXDU),可通过中断信号来调用中断任务
RS485通信距离增加到1200m;
且RS422A/485较以往采用了新的接线头,接线更方便。
另外,何为422呢,当你485只接两根线的时候,称为422,和485之间只是接线方法不同。
更多详细内容请参考e-Learning视频,网址:http://www.fa.omron.com.cn/elearning/video/946



附件1: TXD指令的命令字


image.png


附件2:RXD指令的命令字


image.png

附件3:相关的特殊辅助继电器


image.png

--------------------- 

作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!


其它相关文章:

欧姆龙cp1h常用指令学习(十五)多重互锁指令MILH,MILC

欧姆龙cp1h常用指令学习(十四)练习篇一:红外线遥控点歌

欧姆龙cp1h常用指令学习(十三)数据移位指令

欧姆龙cp1h常用指令学习(十二)块程序

欧姆龙cp1h常用指令学习(十一)中断程序

欧姆龙cp1h常用指令学习(十)脉冲输出指令,电机运动控制

欧姆龙cp1h常用指令学习(九)结构化语言ST

欧姆龙cp1h常用指令学习(八)字符串处理指令

欧姆龙cp1h常用指令学习(七)栈处理指令

欧姆龙cp1h常用指令学习(六)功能块、子程序

欧姆龙cp1h常用指令学习(五)时序输出指令

欧姆龙cp1h常用指令学习(四)串口无协议读写指令TXD,RXD

欧姆龙cp1h常用指令学习(三)增量与减量、四则运算指令

欧姆龙cp1h常用指令学习(二)计数器、数据比较指令

欧姆龙cp1h常用指令学习(一)常用存储器功能区、订时器


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:
本帖最后由 勇哥,很想停止 于 2018-12-30 12:52:11 编辑
  • 评论列表:
  •  访客
     发布于 2019-08-21 17:06:55  回复该评论
  • 这个文档可以的,非常有价值,谢谢你了。
  •  访客
     发布于 2020-04-06 18:21:48  回复该评论
  • 写的很好,读了好几遍,楼主这种认真精神让人佩服;
    顺便看了下楼主的其他帖子,确实不错;
  •  访客
     发布于 2020-06-27 22:17:36  回复该评论
  • 勇哥,我是新手。
    请问有没有遇到这样问题?
    CP1E要同时接USB程序线才可以正常通讯,如果只接串口线,PLC返回\0?\0?。
    •  勇哥,很想停止
       发布于 2020-06-27 23:16:55  回复该评论
    • 可能plc要拔码?这个要查下手册
      •  访客
         发布于 2020-06-29 00:57:22  回复该评论
      • 初步怀疑是USB转232线驱动的问题(台湾PLS2303 HXA版不兼容windows10),单独接串口线时不能通讯,运行一会儿电脑蓝屏。
  •  访客
     发布于 2020-06-28 10:38:36  回复该评论
  • 勇哥,程序按你的写的,我这个txd(设置4字节)发送一次,调试软件会受到好多行的循环。然后rxd也是,用测试软件连续循环发送plc内存才能收到,没法点动,就是没法发一次就收到一次。结束码设置的是回车。您看看是什么问题
  •  yuming
     发布于 2020-09-23 15:49:45  回复该评论
  • 勇哥你好,我用的跟您是同一台plc(cp1h),程序也按您寫的,txd可以正常傳送,但rxd無發接收從pc端傳來的值,a392.14永遠off,想請問以下幾點
    1.dip開關是否全部設置off
    2.結束碼是否設置為(接收字節)
    3.a526.01是否需要固定接多少資料後就清空暫存
    謝謝

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864