技术论坛

西门子S7-1214C与三菱FX3U自由口通讯案例

作者 主题
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
主题:【分享】西门子S7-1214C与三菱FX3U自由口通讯案例
推荐帖


只看楼主 楼主 2022-05-13 10:55:38

西门子S7-1214C与三菱FX3U自由口通讯案例

  前一些天,做了一个西门子200smart与三菱FX3U的自由口通讯,硬件一直放着没有归还给同事,据同事说该三菱FX3Uplc一直有输出被中断的问题,具体原因没有找到(属于硬件问题,因为同事重新换一台plc,下载同样的程序后就一直没有再次出现问题过),我正好拿来做做通讯测试没有问题的。

自上次西门子200smart与三菱FX3U自由口通讯成功验证后,打算再用同样的三菱FX3Uplc的基础上,再组态与西门子S7-1214C的plc进行自由口通讯。上次,网友说,西门子及三菱官方的通讯手册上均有类似的例程,何不用modbus rtu做一些验证,我理解现成有的程序例子官方已经得到验证过,再写帖子没有什么大多的意义,要写官方没有的,通过自己理解通讯指令后,写出来通过验证的程序才有一些意思。

编程思路:

创建一个自由口通讯项目,发送已经提前准备好的数据,数据由SEND_PTP的BUFFER管脚定义数据发送的起始地址,长度由LENGTH定义。先发送一串数据,然后等待(对方)从站的数据的返回,如果从站没有返回数据,再次发送同样的信息,直到从站正确返回数据,假设从站在规定时间内没有返回数据,则判断通讯出错。自由口按这样的通讯设计原则,循环进行。

硬件连接:

西门子S7-1214C + CM1241组成的扩展RS422/485口,与三菱FX3U – 485-DB扩展通讯板建立自由口通讯,其中:

   西门子S7-1214C(CM1241)        三菱FX3U- 485-DB

           3                           SDB/RDB     

           8                           SDA/RDA

西门子S7-1214C的组态及编程:

1) 创建一个新项目,组态S7-1214C+ CM1241,在“设备视图”中组态CM1241,并定义自由口通讯选项:

  均按默认值设置,在cpu属性中勾选“系统时钟存储器”,编程时这些标志位有调用的可能,反正也是一种资源的利用。

2) 在OB1或者自己选择合适的FB/FC中拖拽通讯指令到编辑区:

 

  建议暂时不要填写各指令的管脚,等创建相应的数据块后,再拖拽到相应的管脚上。

3) 创建3个数据块,一个是通讯指令所需要的数据块,一个是发送数据的数据存放块,另一个是接收数据的存放块:并按功能命名,以便查看,取消优化访问。

 

数据块所创建的数据,按管脚数据类型要求创建,不清楚应用先看软件F1帮助。

4) 将所需要的数据块,调整至悬浮窗口拖动到合适位置,将对应的数据拖拽到相应的通讯指令管脚:

 5) 再创建通讯指令的轮询调用机制,利用系统标志位"FirstScan",启动通讯发送指令SEND_PTP,再利用指令完成标志位DONE触发RCV_PTP指令,RCV_PTP指令完成标志位NDR返回到初始,构成一个闭环:再根据通讯发送、接收指令的Error及Status状态值组合,读取指令的错误信息:

 

 6) 编译,保存,将硬件连接好所有测试硬件条件的plc上电后,将硬件和程序下载到cpu,再连接好前一段时间购买的串口转USB转换器,启动串口同事软件,简单的设置相应的测试数据,启动发送数据模式:

 7) 通讯正常,指令没有错误:

 

8) 特意在串口同事软件的发送区,写入多个“C”,RCV_PTP指令的STATUS状态值变为16#8083的错误:

 

9) 查看RCV_PTP指令的错误信息16#8083:

   说明我测试的“错误”操作能够触发相应的报警信息,当报警清除,通讯能够“自动”继续开始。

10) 三菱FX3U自由口(无协议)通讯,D8120,M8161的主要通讯参数解释:

三菱FX自由口通讯D8120相当于西门子200smart SMB30/SMB130,就是定义三菱FX通讯格式的工作在什么模式,M8161是通讯数据长度8位还是16位,其中,M8161 = 0 为16位数据,M8161 = 0为8位数据模式,D8120每一个位下表:

 

在实际编程时需要根据西门子S7-1214C(CM1241)通讯协议,三菱侧需要与之匹配,D8120  = 16# 0C81,等同于西门子侧S7-1214C的硬件组态。

11) 三菱自由口(无协议)通讯另一个指令RS,解释:

   RS指令理解起来也非常简单,(S)为数据发送首地址,(m)为数据发送数据的长度;(D)为接收数据的首地址,(n)为接收数据长度的指定,最长4096个字。几个关键控制位:M8122 = 发送数据控制位,M8123 = 接收数据控制位。

12) 先做一个与串口通讯的简单的验证,初始化必要的通讯参数后,接通M1 = 1,启动RS指令,先把D0 = 10的数据发送出去,等待发送完成后,RS指令“自动”进入到接收状态,如果正确接收到数据,那么数据会传送到D10中,接收数据完成后M8123关闭,M1也断开。M8029是三菱泛用标志位,即指令执行完毕会接通一个周期。

 

  三菱FX的自由口通讯还有其它寄存器及标志位信息,这里不是主要的,就不展开说明了。

13) 连接串口调试软件,测试发送和接收指令的状态:

 

D0 = 10 发送到串口调试软件接收窗口中的数据为0A(10进制数的10),串口调试软件发送窗口写数据16#数 = 10,在D10 = 10进制的16。当M1 = 1始终接通,则RS指令一直处于接收状态,接收完成后,M8123用程序发送断开,准备下一次的接收任务,如此循环。借于三菱这个简单的程序,稍加修改就可以建立2台PLC之间的通讯。

2台PLC之间的测试:

1) 将2台PLC的通讯口连接起来,假设西门子PLC首先发送一个数据,如果通讯连接正确,那么,D10会接收到来自西门子S7-1214C(CM1241)的DB4.DBD0的数据:

 

 2) 反过来,西门子同样可以接收到来自三菱FX3U- 485-DB的D0发送过来的数据,数据存放在数据块DB5.DBD0中,这些数据的互为传送的:

 

双方的数据交换可以正常传送,达到测试的目的。

注意,三菱FX3U与西门子S7-1214C通讯数据的交换,需要在其中的一方做高低字节交换程序:

 西门子S7-1214C与三菱FX3U的自由口测试结束。



 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1761990&b_id=50&s_id=0&num=20

至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:西门子S7-1214C与三菱FX3U自由口通讯案例
推荐帖


只看楼主 楼主 1楼 2022-05-13 11:08:51

西门子S7-1214C与三菱FX3U自由口通讯,我还在西门子侧用P2P指令编写,同样获得通讯成功。


三菱FX3U发送一个16#0A数据给西门子S7-1214C的数据块DB4:

西门子S7-1214C的数据块数据发送到三菱FX3U侧的D10:




 
以下网友喜欢您的帖子:

  
至圣

经验值: 18407
发帖数: 2409
精华帖: 1
回复:西门子S7-1214C与三菱FX3U自由口通讯案例
推荐帖


只看楼主 2楼 2022-05-13 11:32:28

跟着大神学习


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:西门子S7-1214C与三菱FX3U自由口通讯案例
推荐帖


只看楼主 楼主 3楼 2022-05-13 11:36:48
以下是引用黑猫警长W在2022-05-13 11:32:28的发言 >2楼

跟着大神学习

我是充分发挥前几天网购的串口转USB转换器的功效,感觉调试类似的项目非常适合,一些问题可以通过这个转换器查找到,排除了外部硬件极性引起的通讯错误。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:西门子S7-1214C与三菱FX3U自由口通讯案例
推荐帖


只看楼主 楼主 4楼 2022-05-13 11:47:54

基于上次200smart与三菱FX3U自由口通讯RS指令的应用,看到网友有提问,我本次验证过程中做了比较深层次的解读,及D8120、M8122/M8123的解释。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 19282
发帖数: 3866
精华帖: 1
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 5楼 2022-05-13 23:20:45

到这里见到了,真佩服你对技术的追求和执着,这下可以把一颗悬着的心放下来了吧。


弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
以下网友喜欢您的帖子:

  
游侠

经验值: 540
发帖数: 52
精华帖: 0
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 6楼 2022-05-16 15:44:51


学习学习,谢谢分享!


 
以下网友喜欢您的帖子:

  
新手

经验值: 40
发帖数: 3
精华帖: 0
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 7楼 2022-05-18 16:57:14

跟大神学习技术!



 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6006
发帖数: 959
精华帖: 6
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 8楼 2022-07-19 08:01:41

我是最反对混搭不同产品的,在同一系统配置。结果是:混搭的情况非常多!!!所以这里分享很有意义,呵呵。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 楼主 9楼 2022-07-19 09:12:35
以下是引用柳叶随风在2022-07-19 08:01:41的发言 >8楼

我是最反对混搭不同产品的,在同一系统配置。结果是:混搭的情况非常多!!!所以这里分享很有意义,呵呵。

我也非常有同感。

  假如,项目是由我选定的,我一定是选择西门子的plc作为控制单元,变频器什么的可以任意一些,稍微给制造商自由一点。就说前一段时间,订购一台电热炉,功率也非常小,15KW的那种,我也要求配置200smart 及smart line屏,之前,就是用简单的继电器都可以完成。说这些不为什么,只为了统一备件为目的,少其它plc及触摸屏的应用。去年,有机会去参加过昆仑通泰的短期培训,感觉也挺可以的,工厂中也有小部分应用,但是,我自己也不会主动去选择。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 10582
发帖数: 1796
精华帖: 0
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 10楼 2022-07-31 21:52:26


跟着学习了,谢谢分享。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1246
发帖数: 292
精华帖: 0
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 11楼 2022-08-01 09:46:29

这种通讯的第一次调试比较有难度,需要了解从站PLC的数据格式。


小白一枚,学习学习。
以下网友喜欢您的帖子:

  
至圣

经验值: 14877
发帖数: 1015
精华帖: 1
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 12楼 2022-08-01 09:49:46

好东西值得收藏!


自己不努力,一切全白费
以下网友喜欢您的帖子:

  
侠圣

经验值: 2334
发帖数: 522
精华帖: 0
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 13楼 2022-08-01 10:09:45

有两边的程序吗?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 楼主 14楼 2022-08-01 12:25:47
以下是引用董志在2022-08-01 10:09:45的发言 >13楼

有两边的程序吗?

上面的帖子上,已经有通讯程序了。


 
以下网友喜欢您的帖子:

  
新手

经验值: 6
发帖数: 1
精华帖: 0
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 15楼 2022-08-01 16:02:13


谢谢大神分享


 
以下网友喜欢您的帖子:

  
游士

经验值: 189
发帖数: 94
精华帖: 0
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 16楼 2022-08-02 08:48:17

厉害厉害,这个太会玩了。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 19839
发帖数: 4383
精华帖: 2
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 17楼 2022-08-05 10:16:52

有没有存到盘里的链接,这样可以下载学习。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 26304
发帖数: 5838
精华帖: 5
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 18楼 2022-08-07 08:16:11


不错应该保留学习。


天天学习,天天进步.
以下网友喜欢您的帖子:

  
至圣

经验值: 13669
发帖数: 589
精华帖: 2
回复:西门子S7-1214C与三菱FX3U自由口通讯案例


只看楼主 19楼 2022-08-07 15:55:55


收藏了,可以借用学习


 
以下网友喜欢您的帖子:

  
收起
西门子S7-1214C与三菱FX3U自由口通讯案例
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。