4周PADS强化班 HOT
林超文手把手教你学!
张飞暑期特训班
教你1000种电路设计思路
年度IP:PFC电源
张飞硬件电路之PFC全集
30天AD项目众筹
参与免费送VIP+原创视频
最全模电系列教程 NEW
运放、ADC、电磁兼容

[问答] 请教Labview与施耐德PLC通过modbus通讯问题

[复制链接]

技术员

发表于 2018-3-7 15:03:13   1015 查看 9 回复 显示全部楼层 倒序浏览
分享
如题,目前期望通过网线接口,使用modbus模块读取施耐德PLC寄存器中的数据,有如下问题想请教:
1、是否可以使用DSC中的modbus模块中的以太网+RTU模式?
2、PLC寄存器地址为%MW50,%MW51,%MW70,%MW71,而Labview的modbus模块中的约束变量地址均为6位,这4个PLC寄存器地址对应的6位modbus约束变量地址分别是什么?
3、是否完成硬件连接后,可直接使用约束变量进行读操作来读取寄存器数据?
标签:labview

技术员

发表于 2018-3-8 16:59:03    楼主|
来人解答下,谢谢!
回复

点赞 举报

工程师

发表于 2018-3-12 11:11:27  
施耐德PLC,premium/M340/M580等,可以考虑用一下两种方式,均通过MODBUS TCP/IP

1. 数据量不大,可以直接通过基本的MODBUS库实现,直接读取PLC地址,可能%MW1--->400001

2.数据量不少,或者字符串,浮点数,整数什么的都有,可以考虑DSC中的OPC读取,设置好OPC服务器,设置好要读取的变量,在程序中直接读取共享变量就可以。%MW1------400001

OPC服务器,施耐德自己也有,OFS SERVER, 不过建议使用DSC,更方便些
回复

点赞 举报

发表于 2018-3-12 13:28:52  
三楼正解,如果对数据的传输速度有要求,建议直接使用485转USB用串口通讯的方式读取,可以一次性读取同一个区域的多个寄存器数据,然后再把需要的数据截取出来,进行处理  电脑的CPU毕竟要不PLC的强大多了,计算在电脑上运行肯定要快很多  
施耐德通讯协议截取部分内容:
4xxxx 代表的是保持寄存器,既可以读也可以写: 03 功能码是读保持寄存器 06 16功能码写保持寄存器  3xxxx 代表的是输入寄存器,是只读寄存器: 04功能码读输入寄存器  协议规定保持寄存器可读写,输入寄存器只读。
例如,现在要读取40000到40014这15个寄存器的数据,数据类型一般为32位字符,占4个字节,也就是说总共读取的字节数应该为16*4 =64,功能码为03  假设PLC设备地址为01,我们需要用串口发送的命令就为:
0103 9C40 000E EB8A(16进制发送)  其中第一个字节01代表PLC的地址,第二个字节03代表功能码读取,第三第四个字节表示读取的寄存器起始地址40000转为16进制表示,第五第六个字节表示要读取的寄存器数量15转为16进制表示,第七第八个字节表示前面六个字节CRC校验码  这就是一个完整的命令,发送给PLC,如果通讯正常的花,PLC返回的数据应该是: 0103 4000 01 0002 0002。。。。+CRC校验码,合计65个字节,其中前两个字节为返回数据的帧头,第三个字节为数据长度的16进制表示,后面每四个字节为一个数据,直到最后两个字节为CRC校验码  中间的60个字节刚好为15组数据,对应的就是PLC中40000到40014这15个寄存器的数据,只需要再转换为10进制并且按照相应的倍率计算(这个就要看具体需求来了,有的数据是除以10,有的是除以100,也有的是1000等等)得到的结果就是你实际所需要的数据。
回复

点赞 举报

发表于 2018-3-12 13:30:27  
zhouyezuishuai 发表于 2018-3-12 13:28
三楼正解,如果对数据的传输速度有要求,建议直接使用485转USB用串口通讯的方式读取,可以一次性读取同一个区域的多个寄存器数据,然后再把需要的数据截取出来,进行处理  电脑的CPU毕竟要不PLC的强大多了,计算在电脑上运行肯定要快很多  
施耐德通讯协议截取部分内容:
4xxxx 代表的是保持寄存器,既可以读也可以写: 03  ...

抱歉,中间有部分写错,读取的字节数应该是15*4=60
回复

点赞 举报

技术员

发表于 2018-3-12 17:59:36    楼主|
zhouyezuishuai 发表于 2018-3-12 13:28
三楼正解,如果对数据的传输速度有要求,建议直接使用485转USB用串口通讯的方式读取,可以一次性读取同一个区域的多个寄存器数据,然后再把需要的数据截取出来,进行处理  电脑的CPU毕竟要不PLC的强大多了,计算在电脑上运行肯定要快很多  
施耐德通讯协议截取部分内容:
4xxxx 代表的是保持寄存器,既可以读也可以写: 03  ...

你好!
目前我是通过函数选板->数据通信->Modbus Master->创建主设备实例+读取保持寄存器的方法来获取数据的;
而网上搜到的好多是范例是通过新建I/O服务器创建Modbus,然后通过绑定变量来读取数据,而我使用这种方法通信不上(设定参数后直接引用绑定变量读取数据),请问是什么原因?
还有这2种方式有什么区别?

另外使用OPC通信的话,是否使用函数选板   数据通信->OPC UA->OPC UA Client中的连接+读取即可读取PLC保持寄存器数据? 连接和读取两个函数分别有哪些必填项?

谢谢!
回复

点赞 举报

发表于 2018-3-12 21:05:59  
1、以太网只是MODBUS的一种硬件连接方式,既可以使用以太网连接也可以使用串口连接,RTU模式是modbus的一种协议格式,modbus分为两种协议模式:ascll和RTU。所以可以使用以太网的硬件连接方式,加上modbus RTU模式。
2、施耐德的PLC的%MW0,对应的modbus地址是400001,所以%MW50的modbus地址是400051,%MW51是400052,%MW70、71分别是400072和400073.
3、硬件配置好之后直接可以通过约束变量读取。如果对地址有疑问,可以先拿modscan测一下具体对应的modbus地址是多少。
最近正好做了这么一个项目,楼主可以私信我。
回复

点赞 举报

技术员

发表于 2018-4-13 19:33:36  
爱吃肉的菠菜猫 发表于 2018-3-12 21:05
1、以太网只是MODBUS的一种硬件连接方式,既可以使用以太网连接也可以使用串口连接,RTU模式是modbus的一种协议格式,modbus分为两种协议模式:ascll和RTU。所以可以使用以太网的硬件连接方式,加上modbus RTU模式。
2、施耐德的PLC的%MW0,对应的modbus地址是400001,所以%MW50的modbus地址是400051,%MW51是400052,%MW70 ...

您好,我也在做一个类似项目。有一个问题,就是用VISA输入指令的时候。根据RTU格式,他的起始地址不是只有2bit,也就是4位吗,那这个400101,420211这些如何写进去,这些换成十六进制不止是四位呀,不胜感激
回复

点赞 举报

技术员

发表于 2018-7-9 20:27:52  
umc_ice 发表于 2018-3-12 17:59
你好!
目前我是通过函数选板->数据通信->Modbus Master->创建主设备实例+读取保持寄存器的方法来获取数据的;
而网上搜到的好多是范例是通过新建I/O服务器创建Modbus,然后通过绑定变量来读取数据,而我使用这种方法通信不上(设定参数后直接引用绑定变量读取数据),请问是什么原因?

楼主最后是怎么解决的呢?我也遇到了同样的问题
回复

点赞 举报

技术员

发表于 4 天前    楼主|
fsirupup 发表于 2018-7-9 20:27
楼主最后是怎么解决的呢?我也遇到了同样的问题

程序框图界面   数据通信→Modbus里面选择对应的工具函数,没有使用共享变量
回复

点赞 举报

高级模式
您需要登录后才可以回帖 登录 | 注册

4周PADS强化班 HOT
林超文手把手教你学!
张飞暑期特训班
教你1000种电路设计思路
年度IP:PFC电源
张飞硬件电路之PFC全集
30天AD项目众筹
参与免费送VIP+原创视频
最全模电系列教程 NEW
运放、ADC、电磁兼容
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表
-

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

工程师杂谈

项目|工程师创意

招聘|求职}工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

ARM技术论坛

Android论坛

Linux论坛

单片机/MCU论坛

MSP430技术论坛

FPGA|CPLD|ASIC论坛

STM32/STM8技术论坛

NXP MCU 技术论坛

PIC单片机论坛

DSP论坛

瑞萨单片机论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

无线充电技术

-

硬件设计论坛

PCB设计论坛

电路设计论坛

电子元器件论坛

控制|传感

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

仪器仪表技术专区

-

EDA设计论坛

multisim论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

EasyEDA-中国人自已的EDA工具

Orcad论坛

-

综合技术与应用

电机控制

智能电网

光电及显示

工程资源中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

-

无线通信论坛

无线通信技术专区

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Mixed Signal/SOC[数模混合芯片设计]

Analog/RF IC设计

设计与制造封装测试

-

厂商专区

TI论坛

TI Deyisupport社区

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

供求信息发布

供需广告

电子展览展会专区

芯片求购|供应发布区