松下FPΣ串口主从通信问题 点击:279 | 回复:14



wufan_fan01

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 31回
  • 年度积分:30
  • 历史总积分:39
  • 注册:2012年5月22日
发表于:2020-04-22 22:02:41
楼主

初次接触PLC串口通信,看到坛内关工分享的半双工串口通信实例汇总里,有松下FPX之间通信的例子,赶紧翻出别人送的03年的老货FPΣ,依葫芦画瓢搞起来,竟然没有成功,两台PLC上的COM1指示灯也不闪烁。两台PLC是OK的,均可以单独与触摸屏通过232 口正常联机。关工的实例里是FPX间的485通信,而我的是FPΣ间的232通信,想来区别挺大的,但自己才疏学浅,难明白其中原委。希望关工和各位高手指点一二。多谢!




关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-12 17:09:27
1楼

FPΣ系列,查了一下,可以使用MTRN指令的

你要看看使用端口

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-14 21:27:32
2楼

楼主,问题解决了吗?有问题随时跟帖交流啊。

wufan_fan01

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 31回
  • 年度积分:30
  • 历史总积分:39
  • 注册:2012年5月22日
发表于:2020-05-15 13:23:45
3楼

        多谢关工指点!
        现在的结果,是主从联机通信没有达到要求。
        用串口调试软件通过COM1对主站进行监控,发现主站上电即持续循环发送“02 30 30 03”,手动输入X0信号,循环发送内容变为“02 30 31 03”,用串口软件发送“02 30 32 03”或“02 30 38 03”,输出端均无反应。
        对从站进行监控,发现从站上电后一直没有发送内容,当通过串口软件发送“02 30 32 03”后,从站输出端立即有输出响应,并立即开始持续循环发送“02 30 30 03”,当输入端点位信号有变化时,循环发送内容亦随之变化,但当再次通过串口软件发送其它内容时,输出端始终不再响应,看来串口软件发送的内容仅充当触发信号,和发送的内容关系不大,亦即再次上电后,串口软件换个内容发送,同样能触发从站持续循环发送动作,同样在

循环发送过程中不再响应来自串口软件的指令。
        附图,还劳关工费心指点。

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-16 13:48:52
4楼


引用 wufan_fan01 的回复内容:         多谢关工指点!        现在的结...

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

主站是先发送后接收、从站是先接收后发送

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-16 13:49:36
5楼


引用 wufan_fan01 的回复内容:         多谢关工指点!        现在的结...

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

目前看你发出来的,感觉主站是对的

从站应该是收到4个字节后发送4个字节后,再次进入到等待接收的环节。

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-16 13:50:08
6楼


引用 wufan_fan01 的回复内容:         多谢关工指点!        现在的结...

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

你应该再仔细检测一下从站程序,看看哪里还有不对的地方。

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-16 13:51:03
7楼


引用 wufan_fan01 的回复内容:         多谢关工指点!        现在的结...

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

从站接收的4个字节,02是起始符、03是结束符

中间两个字节就是主站8个输入组成的1个字节转换为ASCII码后的2个字节。

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-16 13:52:28
8楼


引用 wufan_fan01 的回复内容:         多谢关工指点!        现在的结...

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

从站收到后,会把中间的2个ASCII码转换为16进制送入到自己输出Y0~Y7里,而后紧接着把自己8路输入X0~X7转换为2个ASCII码,加上起始符和接收符再发送给主站。

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-16 13:53:31
9楼


引用 wufan_fan01 的回复内容:         多谢关工指点!        现在的结...

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

主站收到这4个字节,也会先判断起始符和结束符,而后再把从站8路输入X0~X7转换为2个ASCII码的数据再次转换为16进制送入到自己的输出Y0~Y7。

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-16 13:54:07
10楼


引用 wufan_fan01 的回复内容:         多谢关工指点!        现在的结...

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

程序就是如此循环的,建议你再检查一下从站程序。

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-16 13:54:54
11楼

你可以参考一下我这个帖子:
松下FPX和松下FPX之间无协议通信例子:

http://bbs.gongkong.com/d/202003/823404_1.shtml

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-16 14:00:54
12楼


引用 wufan_fan01 的回复内容:         多谢关工指点!        现在的结...

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

从站是被动接收,当接收到主站4个字节数据时,它就返回给主站4个字节数据,然后又进入到等待接收,你这从站是触发一次后,不停的开始发送,程序里还是不对。

关育谋

  • [版主]
  • 精华:3帖
  • 求助:21帖
  • 帖子:343帖 | 4636回
  • 年度积分:1131
  • 历史总积分:29808
  • 注册:2004年5月28日
发表于:2020-05-16 14:03:07
13楼


引用 wufan_fan01 的回复内容:         多谢关工指点!        现在的结...

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

调试的时候还是先用串口调试助手测试比较好,待主站、从站都用串口调试助手测试通过后,再把2个PLC连接起来一起调试。

wufan_fan01

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 31回
  • 年度积分:30
  • 历史总积分:39
  • 注册:2012年5月22日
发表于:2020-05-20 11:23:50
14楼

        关工真是热心,这么多的回帖,深受感动!

        这几日和同事一起学习探讨,终于找到了原因,如下图:

FPΣ通信失败原因.png   

    


       由于使用的PLC版本太低,发送数据时,字节数无法被自动置位,只有修改原程序,从站的修改段如下图:

从站修改前程序段.png从站修改后程序段.png  

       


         从站修改后的调试结果如下图:

从站通信调试结果.png 


       

        再看主站。主站的修改段如下图:

主站修改前程序段.png主站修改后程序段.png 


      

         主站的调试结果,如下图:

主站通信调试结果.png       

       

       这样修改调试后,再次联机,两台西格玛便可以正常通信,实现了既定的目标。

       在以上程序的基础上,修改添加部分程序,可以实现16位的双机互控。

       以上程序的修改,不知道有没有更佳的修改方案?请关工和各位高手指点。

       技海无涯,苦学之漫漫长路上,能有像关工这样的高手相助,不可谓不幸运,不可谓不幸福。

       感谢关工的热忱指导!



相关主题

官方公众号

智造工程师