技术论坛

 西门子200smart与三菱FX3U plc之间的自由口通讯

返回主题列表
作者 主题
WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
楼主    2022-05-08 16:10:16
主题:西门子200smart与三菱FX3U plc之间的自由口通讯 精华帖 

西门子200smart与三菱FX3U plc之间的自由口通讯

  手头上正好有西门子200smart PLC及三菱FX3U PLC,趁目前稍有空闲时间,一直想着做做它们之间的自由口通讯测试,之前曾经试过几次,均失败而告终(主要问题是方法及有效检测手段不足)。趁没有做成功,心里总是有一块石头没有落地似的,再做一下测试,来感受一下失败原因,是否在这次能够找到根本原因。

测试项目:

   测试项目的内容,把西门子200 smart 的IB0的状态值,通讯自由口方式传送到三菱FX3U的Y0 ~ Y7,同样三菱FX3U的X0 ~ X7通过自由口通讯方式把状态信息传送到西门子200 smart的QB0中,实现2种不同类型的plc之间的数据交换。

数据传送方式:

 西门子 200 smart              三菱FX3U

      IB0           →          Y0 - Y7

      QB0          ←           X0 – X7

得到:I0.0 = Y0,.....I0.7 = Y7;  X0 = Q0.0,..... X7 = Q0.7。

西门子200smart侧与串口调试软件的编程测试思路:

  首先在西门子200smart侧,定义好自由口通讯的必要参数,定义发送完成中断,连接中断,在发送完成中断所连接的中断子程序中,编辑接收完成中断,在接收完成中断所连接的子程序中,继续编辑发送指令XMT,如此引成一个“闭环”的通讯循环。

  其次在三菱FX2N侧,完成对西门子200 smart侧是通讯参数设置及数据交换程序段。

程序:

定义通讯初始化:接收中断子程序;发送中断子程;在主程序调用:

将200smart的输入IB0状态值传送到VB1,通过XMT指令发送给三菱FX3U的Y0 `- Y7中表示,同样,三菱FX2N的X0 – X7状态值通过通讯传送到200 smart的RCV接收,由VB11传送到QB0的通讯过程。

先验证西门子200 smart侧的通讯状态,老方法串口调试软件伺候它非常方便,除了外部的硬件外的通讯程序部分测试非常合适,将待测试的用户程序编译、保存、下载到测试的plc中。打开串口调试软件,在方式区写入16#A 16#A,2个“A”字符,点击发送,图示:

 为测试方便,我把200smart侧的IB0修改为MB0,创建状态图表,监控通讯数据:

 

串口调试软件发送的16#A 16#A,相当于在200smart 侧的VB11 = 2#1010 1010,,同样原理,我写在200smart侧的MB0中写一个任意的数据,看串口调试软件是否也能够正确接收,假设写16#B 16#B这样的数据:

 


200smart侧的数据同样也能够传送到串口调试软件的接收区,说明通讯程序基本是正常了的,能够自动触发转换发送中断和接收中断。

三菱FX3U plc侧与串口调试软件的测试编程思路:

1)同样,定义三菱FX2N的串口通讯格式,将16#0C81写入通讯口控制的D8120中,M8161 = 1,8位数据模式;

三菱的RS指令容易理解,D100存放的是发送的数据,K1是数据长度,就是发送一个D100的数据到西门子200smart,同样道理,D200是接收数据寄存器,存放的是接收到来自西门子200smart侧IB0(测试方便起见用MB0替代)的数据。特殊继电器M8122为数据发送标志位,因为是半双工,M8122与M8123进行必要的互锁。

2)三菱的发送数据寄存器存放在D100,接收数据寄存器存放在D200(16位数据),打开串口调试软件,检测三菱FX3U侧的通讯程序:

 3)修改双方的数据看各自的窗口数据双方能够随之改变:

 

在双方窗口中改变数据,各自窗口上的数据能够随之改变,说明三菱侧的通讯也基本正常。

4)连接西门子200smart与三菱FX3Uplc的通讯口,看2个plc之间的数据交换情况:

 硬件正确连接后,能够建立起对等的数据交换,本次测试完成。

我测试拔掉通讯线,再次连接通讯线,通讯能够自动连接上。

总结:

1)之前几次的通讯验证失败的原因主要有,通讯测试手段不足,尤其是三菱FX3U测试没有正确使用串口调试软件,当出现无法通讯问题时感觉无从下手。

2)对各plc的通讯端口极性,没有得到有效的确认,数据无法通讯上时一直在看通讯程序是否出错,实际上本次测试同样也遇到了这个问题。我是在与串口调试软件测试时发现并及时处理好的。实际上,西门子200smart侧是3+  对应三菱FX3U-485-DB通讯板的SDB/RDB,西门子200smart侧的8-  对应三菱FX3U-485-DB通讯板的SDA/RDA端子。这个发现关键,我在实际测试时,出现过数据错误,或者通讯无法连接均是通讯极性没有一致引起的。

3)为匹配双方PLC之间的数据交换,我初次在西门子200smart侧的通讯数据长度没有充分考虑到,在后期建立通讯测试时,想到匹配数据长度,最后将西门子200smart侧的数据长度修改为2个字节,与三菱的数据寄存器D地址保持长度一致,当然这个并不是是否建立通讯的关键问题。

4)了解必要的双方通讯指令含义,并及时验证求证,缩小在初次调试的不确定因数。

5)为加快双方通讯数据交换,三菱侧触发M8122我修改为M8012(100mS)脉冲后数据交换明显加快。


WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
1楼    2022-05-08 16:21:17
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

重新再次调整了三菱侧的通讯数据交换,图示,将M8012改为M8011,数据交换又提升了一些:

同时,把D200的数据摘取出来,直接用MOV指令传送。


莘莘学子
至圣

经验值: 19213
发帖数: 3837
精华帖: 1
2楼    2022-05-08 17:15:24
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯
不是modbus通信更方便吗?
弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
莘莘学子
至圣

经验值: 19213
发帖数: 3837
精华帖: 1
3楼    2022-05-08 17:16:36
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯
不是modbus通信更方便吗?可以尝试一下。
弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
ABBCCC
至圣

经验值: 24344
发帖数: 4846
精华帖: 6
4楼    2022-05-08 17:19:41
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

万一以后碰到就会想到有个先行者给趟好路了,向你致敬!

谨慎低调
WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
5楼    2022-05-08 17:30:00
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

哈哈,感觉按自己的想法试试。老是用库里面的官方例子,近期也写了不少帖子了,想换换花样。

嗯,有时间写写modbus rtu也可以的。思路有了,写程序只是时间问题。

WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
6楼    2022-05-08 17:34:44
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

也是近期,网上购买了一些验证器材,其中就有串口转USB转换器,通过转换器找到的一些问题。万事开头难,通过本次测试,加深了它们2个plc通讯之间的印象。如果用modbus rtu通讯会更加轻松了的。

串口调试软件确实是一件好东西,能够缩小通讯应用中可能的问题。

阳阳爸
侠圣

经验值: 3578
发帖数: 614
精华帖: 0
7楼    2022-05-08 21:41:24
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

原来在学校总做通讯实验,现在上班了基本都是统一系统,不统一都用OPC,Modubs中转

简单的重复就能完成复杂的任务!
WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
8楼    2022-05-09 08:01:35
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

是的,现在也是这样,无论你是那种类型的通讯,最终需要规划到统一的一种,无论是那种方式的规划。

莘莘学子
至圣

经验值: 19213
发帖数: 3837
精华帖: 1
9楼    2022-05-09 10:11:05
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

王工,期待你来一波西门子和三菱的MODBUS-RTU通信技术发帖,那就更完美了。

弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
10楼    2022-05-09 10:54:19
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

这个没有什么的,我看过三菱的通讯手册,里面有比较详细的modbus rtu通讯例子,你去下载来看看然后找一个实体机+通讯模块验证一下就可以了。我用自由口写通讯纯粹是闹着玩的心态的。

记得早前,看到网上有类似的案例,曾经测试过,但是,均没有成功过。

主要问题我上面也在总结上说了,是硬件的连接问题,而并不一定是程序问题。

三菱plc+485DB模块同样可以用串口调试软件测试的,这个是解决他们之间通讯问题的测试关键。

莘莘学子
至圣

经验值: 19213
发帖数: 3837
精华帖: 1
11楼    2022-05-09 14:06:29
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

怎么说呢?

西门子和三菱的MODBUS-RTU通信我早就做过了,其实很简单的。但是可惜的是程序给丢完了。如有资料的话,按资料上面的格式读写没有问题的。西门子论坛还没有FX3U这款的MODBUS通信,你发帖又会是精贴。

弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
12楼    2022-05-09 14:47:47
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

我感觉你对通讯比较有兴趣,可能是比较熟悉于此吧。

说实在,我如果没有做过类似项目,或者维护过项目,我对通讯也是一头雾水的。非常清楚记得开始时,排除dp故障时的窘迫劲。到后来随着工作经历的逐渐加深,渐渐进入了角色,几次帮公司同事解决过dp通讯的老大难问题后,逐渐熟悉了于此。

拿第三方通讯吧,主要问题还是熟悉程度的不足。记得几次测试失败的原因,现在看来就是熟悉程度和没有充分运用调试软件的原因引起的,反到是程序没有什么难度了。

写这个通讯,我认为一侧,刚好有硬件条件找机会测试一下,二则,西门子200及200smart与第三方plc在实际的小型机设备上应用还是比较广泛的,如果需要设备之间建立数据交换,相对比较经济的做法就是这个通讯了,所以,有写贴的念头。

莘莘学子
至圣

经验值: 19213
发帖数: 3837
精华帖: 1
13楼    2022-05-09 17:15:30
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

搞串口通信,你还真的一定要用到串口调试软件,这个是很好的帮手。否则一头雾水,刚开始我也是那样,通信失败,半天没反应,找不到任何毛病,百度半天,最后发现是数据格式不对。

弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
14楼    2022-05-09 17:47:45
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

是的,算是遇到知音了,才会有这样的交流语言的。

我遇到很多同行,说到通讯基本都说是无法理解,最好拿一套现场的程序使用,具体也不想深入,这个我认为主要还是对通讯的理解问题吧。

yecao2006
至圣

经验值: 18043
发帖数: 1524
精华帖: 2
15楼    2022-05-10 10:53:08
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

能静下心来研究问题的值得点赞。

我回来了!继续努力!
WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
16楼    2022-05-10 11:38:19
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

@ZD_JY,我也是看第三方plc的通讯手册,尝试着写的。

它基本上就是这个格式,没有西门子那样编程灵活性大,一旦掌握了还是西门子的好用。

hyl001
侠士

经验值: 1554
发帖数: 90
精华帖: 0
17楼    2022-05-12 22:19:59
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

感谢分享。

Siemens automation
奇侠

经验值: 5541
发帖数: 626
精华帖: 6
18楼    2022-05-13 08:49:13
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

我一直想用三菱PLC和西门子走S7通讯,我看到三菱FX5U  PLC通讯里面有支持西门子S7通讯设置,有机会我也测试这个功能。西门子自由口通讯不写校验还是比较简单,如果写校验就有点难度。

WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
19楼    2022-05-13 09:37:12
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

没有5U的硬件,现在,我三菱plc基本上很少用到了,自己做的项目均是西门子的,无论是小型机或者是大型机,FX2N或者3U也仅仅只是维保时的应用。

莘莘学子
至圣

经验值: 19213
发帖数: 3837
精华帖: 1
20楼    2022-05-14 08:38:58
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

5U和3U的modbus-RTU是一样的写法。至于2N,十年前就停产了,市面上能找到的要么是高仿,要么是二手翻新。

弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
21楼    2022-05-14 09:32:28
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

modbus 、自由口,我测试了不少,如果有5U硬件,我想试试modbus tcp通讯等等。

Siemens automation
奇侠

经验值: 5541
发帖数: 626
精华帖: 6
22楼    2022-05-14 13:30:13
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

昨天我找到了FX5U最新PLC,现在还有一个1214C  PLC。昨天下午测试了一下FX5U和西门子PLC走简单通讯测试,通讯成功可以用西门子Q点控制三菱FX5UPLC 的Y点输出,但是数据交换还有点问题,等星期一上班再去测试,我测试完后再将这个例子放到论坛上面供大家讨论指导。

Siemens automation
奇侠

经验值: 5541
发帖数: 626
精华帖: 6
23楼    2022-05-14 13:35:15
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

应为三菱FX5U里面简单通讯里面有支持和西门子PLC通讯,这个设置就好比西门子PN通讯一样,只要设置好后就可以直接进行数据交换,不用再单独再任何一方上面写程序。

WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
24楼    2022-05-14 13:37:09
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

点赞!

  三菱我这里的应用是越来越少了,仅仅只是维保,把有故障了的plc换掉,重新用新的机型替换。

自己做的大、小项目均使用西门子,那样配件好搞一些。

我近期写这些贴子,主要还是得益于近期购买的转换器,早前测试过几次,均是失败告终的。

如果有5U,可以试试走modbus tcp。

WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
25楼    2022-05-14 13:40:04
主题:回复:西门子200smart与三菱FX3U plc之间的自由口通讯

有相同之处,如这个s7-1200 modbus通讯,通讯参数基本是通过硬件设置的,而三菱也同样具备这些,只是我没有测试过。


您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。