wu32u2
耐得住挫折的打磨,我们将迸发出比钻石还璀璨的光芒——
级别: 论坛先锋
精华主题: 0
发帖数量: 1121 个
工控威望: 1474 点
下载积分: 1772 分
在线时间: 994(小时)
注册时间: 2010-03-01
最后登录: 2024-09-02
查看wu32u2的 主题 / 回贴
楼主  发表于: 2010-12-08 09:55
图片:
愿工控战友们少走弯路,积累经验,感谢njaolian,汇荣铝业,meiyouleya,sandy_love各位的热心帮助。
在rs指令上台达PLC和三菱plc有一点区别:同样在只接受数据的情况下,三菱不需要触发置位M8122便进入接收状态,台达PLC则每次需要上升沿触发置位M1122才能使RS指令进入接收状态。这样一来就出现一个问题:类似扫描枪这样的功能,在不能确定何时接收数据的情况下需要RS指令一直处于接收状态,则需要经常触发M1122(台达PLC的发送请求同比三菱的M8122的功能),但是接收数据时不能置位M1122否则将导致接受的数据丢失或缺损(我没注意到这一点,把M1122一直置位了,导致数据经常丢失——三菱PLC不需要置位M8122不存在这样的问题),现在采用一个定时器每隔两秒上升沿触发置位M1122,虽然这样仍然有可能在PLC接受条形码的时候M1122置位,但概率很小,昨天现场调试,两百次内数据无丢失,时间间隔越短则出现数据丢失的可能性会增加。。目前这方法也是权宜之计~
   希望对大家有所帮助,若有更好的办法彻底解决数据丢失,望大侠们不吝赐教,让像我一样的菜菜们学习点经验。付程序图
[ 此帖被wu32u2在2010-12-08 10:01重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(刻骨铭心) 热心助人!
  • 下载积分:+3(xqx666) 支持原创
  • 下载积分:+10(sjm213) 感谢分享
  • 成功的路上需要帮助
    waley1018
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看waley1018的 主题 / 回贴
    1楼  发表于: 2010-12-08 10:03
    谢了
    lxhwawa
    级别: 略有小成
    精华主题: 0
    发帖数量: 275 个
    工控威望: 347 点
    下载积分: 1578 分
    在线时间: 297(小时)
    注册时间: 2009-02-27
    最后登录: 2024-08-16
    查看lxhwawa的 主题 / 回贴
    2楼  发表于: 2010-12-08 10:56
    楼主是否可以考虑用M1123来作为发信指令呢?
    楼主留言:
    昨天现场调试也试过用数据接收完成标志位M1123加逾时标志位M1129加M1002并联来触发M1122理论上可行,但实际中接受完成一次后就不能再次接收数据了。监控程序M1122未被触发,该联通的触点也都联通。所以就采用定时触发了。
    本帖最近评分记录:
  • 下载积分:+5(sjm213) 热心助人
    sandy_love
    感悟生活,创新的源泉...
    级别: 家园常客
    精华主题: 0
    发帖数量: 487 个
    工控威望: 823 点
    下载积分: 1610 分
    在线时间: 482(小时)
    注册时间: 2008-12-08
    最后登录: 2024-11-22
    查看sandy_love的 主题 / 回贴
    3楼  发表于: 2010-12-08 11:19
    只需要接受数据?你用的设备是单工通讯的吗?
    没必要等2秒才发一次吧,如果是全双工通讯一次发送完成了就可以下一次发送。
    接收也一样,接收完了立即把接收完成标志清了就可以了
    楼主留言:
    恩,只需要接受来自扫描枪的数据,问题是这次接收完成后想再次进入接收状态需要再次置位发送请求。。电话咨询了下代理商的技术顾问。他是这么说来着。
    lxhwawa
    级别: 略有小成
    精华主题: 0
    发帖数量: 275 个
    工控威望: 347 点
    下载积分: 1578 分
    在线时间: 297(小时)
    注册时间: 2009-02-27
    最后登录: 2024-08-16
    查看lxhwawa的 主题 / 回贴
    4楼  发表于: 2010-12-08 12:01
    台达的M1123自动ON后,必须RESET后才能进行到下一个等待传送接受的状态,所以
    LD M1123
    ……
    SET M1122
    RST M1123
    你试试看这样做
    楼主留言:
    昨天这样编写的,试了下不能连续的接受。图在下面
    wu32u2
    耐得住挫折的打磨,我们将迸发出比钻石还璀璨的光芒——
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 1121 个
    工控威望: 1474 点
    下载积分: 1772 分
    在线时间: 994(小时)
    注册时间: 2010-03-01
    最后登录: 2024-09-02
    查看wu32u2的 主题 / 回贴
    5楼  发表于: 2010-12-08 12:48
    图片:
    图片:
    应该和你说的是同一个意思吧
    成功的路上需要帮助
    wu32u2
    耐得住挫折的打磨,我们将迸发出比钻石还璀璨的光芒——
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 1121 个
    工控威望: 1474 点
    下载积分: 1772 分
    在线时间: 994(小时)
    注册时间: 2010-03-01
    最后登录: 2024-09-02
    查看wu32u2的 主题 / 回贴
    6楼  发表于: 2010-12-08 12:57
    得补充下程序中除了扫描枪接受条形码数据要用到一次RS指令,还要发送数据给确认台的计算机和接收来自计算机的确认数据。所以程序里有两个RS指令,上传数据时、接受数据,或者检测进行时,需要断开这个扫描枪的RS指令程序,等检测数据发送、接收完成后,才再次进入扫描枪的接收等待状态。可能是这样原因导致不能连续的接受数据。
    成功的路上需要帮助
    waley1018
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看waley1018的 主题 / 回贴
    7楼  发表于: 2010-12-08 13:25
    学习嘞
    sandy_love
    感悟生活,创新的源泉...
    级别: 家园常客
    精华主题: 0
    发帖数量: 487 个
    工控威望: 823 点
    下载积分: 1610 分
    在线时间: 482(小时)
    注册时间: 2008-12-08
    最后登录: 2024-11-22
    查看sandy_love的 主题 / 回贴
    8楼  发表于: 2010-12-08 14:46
    估计是半双工的通讯,在同一时刻总线上只允许有一个方向有数据传输;接收数据完了到下一次通讯要有时间间隔(好像是一个扫描周期忘了),把触发条件改为下降沿隔一个周期启动试试。另外用多个RS通讯时注意不能有冲突,而且要保证断开一个RS时不能够打开接收数据;就是说接收数据要在RS有效之内。这个问题以前好像也有过讨论,楼主查查看。
    或者楼主有没有台达的RS通讯的通讯时序图,发上来探讨一下?
    楼主留言:
    应该是全双工通讯吧,,接受数据时,不能置位M1122发送请求,唉手头上没有台达的时序图啊 。