13824790603
QQ:389097681
级别: 论坛先锋
精华主题: 0
发帖数量: 175 个
工控威望: 1258 点
下载积分: 4476 分
在线时间: 210(小时)
注册时间: 2020-07-23
最后登录: 2024-11-13
查看13824790603的 主题 / 回贴
楼主  发表于: 2021-02-22 16:59
描述:通信协议支持软元件设定
图片:
描述:测试程序
图片:
描述:协议格式设置
图片:
GX Works3用通信协议支持功能的协议发送,只能发一次吗?再次触发的时候它发不出了。求大佬解答一下。
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-15
查看zmrs163的 主题 / 回贴
1楼  发表于: 2021-02-22 17:15
可能上次未完成,需要取消协议再执行
本帖最近评分记录:
  • 下载积分:+1(13824790603) 热心助人!
    焦刘吉
    紧跟时代发展,努力做好时代青年
    级别: 工控侠客
    精华主题: 0
    发帖数量: 1460 个
    工控威望: 4682 点
    下载积分: 14955 分
    在线时间: 429(小时)
    注册时间: 2015-05-19
    最后登录: 2024-11-14
    查看焦刘吉的 主题 / 回贴
    2楼  发表于: 2021-02-22 20:55
    一次正常的通信是,发送报文给对方,对方响应返回存在2中情况 1,正常响应,2ERR响应,看你的程序,每1次执行都没有判断是否指令完成。如果觉得响应错误帧时间过长,可以修改响应时间,与发送时间延时判定
    本帖最近评分记录:
  • 下载积分:+1(13824790603) 热心助人!
  • Rules are always made by the strong, and history is always written by the winners.
    13824790603
    QQ:389097681
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 175 个
    工控威望: 1258 点
    下载积分: 4476 分
    在线时间: 210(小时)
    注册时间: 2020-07-23
    最后登录: 2024-11-13
    查看13824790603的 主题 / 回贴
    3楼  发表于: 2021-02-23 09:47
    引用
    引用第2楼焦刘吉于2021-02-22 20:55发表的  :
    一次正常的通信是,发送报文给对方,对方响应返回存在2中情况 1,正常响应,2ERR响应,看你的程序,每1次执行都没有判断是否指令完成。如果觉得响应错误帧时间过长,可以修改响应时间,与发送时间延时判定


    加了判断发现指令一直处于未完成的状态,然后我看手册监视了SD9150这个软元件,发现执行第一条指令后,它的值一直为4(4表示的执行状态为接收处理中),这是与PLC通信的设备没有反馈接收成功回来的意思吗?
    13824790603
    QQ:389097681
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 175 个
    工控威望: 1258 点
    下载积分: 4476 分
    在线时间: 210(小时)
    注册时间: 2020-07-23
    最后登录: 2024-11-13
    查看13824790603的 主题 / 回贴
    4楼  发表于: 2021-02-23 09:48
    引用
    引用第1楼zmrs163于2021-02-22 17:15发表的  :
    可能上次未完成,需要取消协议再执行


    就是不管我怎么弄,他都好像发不出第二条;断电重启后才可以发送,然后第二条又发不出去了。 就是不用断电重启的状况下,怎么取消?
    13824790603
    QQ:389097681
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 175 个
    工控威望: 1258 点
    下载积分: 4476 分
    在线时间: 210(小时)
    注册时间: 2020-07-23
    最后登录: 2024-11-13
    查看13824790603的 主题 / 回贴
    5楼  发表于: 2021-02-23 10:20
    找到问题了,就是通信协议功能那里,接收数据的两行都不能删除,我一开始以为只接收一行就行了,就删除了一行,刚刚把之前删除的一行加上去,就可以正常通信了。