设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
简单免费的Modbus协议在CODESYS平台PLC的实例代码分享 ...
返回列表
发新帖
[CodeSys]
简单免费的Modbus协议在CODESYS平台PLC的实例代码分享
[复制链接]
95477
|
0
|
2024-7-31 15:34:23
|
显示全部楼层
|
阅读模式
我们已经完整的介绍Modbus协议,详情可以回顾:
Modbus协议全解析(完结篇)
所谓实践出真知!这次也许就是机缘巧合,正在介绍Modbus协议的同时,有朋友给了一次项目合作机会,刚好就是串口相关的通讯,用的恰巧就是Modbus协议。
所以,这次和大家分享在CODESYS平台,如何免费的使用Modbus协议和温控仪表、液压阀及其他设备通讯?
项目概况
项目主体架构:
Codesys平台控制器(X86架构)+ EtherCAT IO模块 + 控制器本身的两个COM串口(RS232、RS485可切换)
产品方案由我们公司提供,这次合作的是硬件和软件整套服务。具体的设备由于其为研发性质的项目,这里不做展开。
如果您刚好需要CODESYS平台控制器、EtherCAT总线IO及伺服等选型,以及项目的整体解决方案,可以直接微信给我们(微信:mengman45),期待与您的合作。
如果我们有好的性价比和优质服务,为什么不考虑一下呢?
Modbus应用
此次项目中,关于Modbus和串口的应用主要三方面:
1、Modbus TCP
上位机用的LabView,和我们控制器采用Modbus TCP协议,控制器这端做服务器。
2、Modbus RTU
主要是对温控器进行通信,控制器这端做Master主站。使用的是控制器的COM1口,采用RS485的接线标准。
3、自由串口
还有液压阀采用自由口COM2,RS485标准。
当然,本次项目的控制器还实现了与以太网接口的相机(视觉系统)进行TCP/IP自定义协议通信。同时还预留OPCUA协议与其他设备进行数据交互。
示例代码
1、Modbus TCP服务器示例代码:
上方加延时的主要目的是设备上电后,首先会去控制器内部读取掉电保持的数据,等待数据读取完毕后,再开启Modbus TCP服务器进行通信。
可能各家对地址的分配方式不尽相同,需要根据具体的说明进行合理的配置。
2、Modbus RTU Master主站的示例代码
1)建立连接
2)读取保持寄存器
3)写单个寄存器
需要特别注意:
硬件接线需要根据手册获取详细的引脚定义,不要接错。
连接时,需要主从站两端的串口号、波特率、奇偶校验位、停止位及数据位等参数保证一致。
读取和写入需要明确对应的功能码,找到功能码对应的函数,这里我们搞错了几次导致老是通信不上。
另外,数据的Unit ID要对应上,起始地址和数据的数量及长度也要严格一致,否则会导致函数读取或者写入失败。
3、自由串口通信示例代码
注意:主从站两端的串口号、波特率、奇偶校验位、停止位及数据位等参数保证一致。基本注意这条就没啥问题。
发送的字符串和接收的字符串需要双方协商定义好,这里需要注意的是要加超时的处理机制,防止程序无法跳转卡住。
当然,具体的协议不尽相同,需要根据实际的项目需求而定。如果您也有类似的项目方案需求,可以联系我们。(微信:mengman45)
【视频课程】Codesys V3.5系列入门课程(125人已学习)【视频课程】Codesys SoftMotion软运动控制基础课程(38人已学习)【视频课程】Codesys SoftMotion电子齿轮课程(12人已学习)【视频课程】Codesys SoftMotion电子凸轮CAM课程(9人已学习)【视频课程】Codesys Library自定义库的制作(22人已学习)
Codesys V3.5系列最全免费公开资料汇总
十大常用滤波算法(ST语言)
集成Chat GPT的PLC长啥样?
2023年度TOP 10的PLC编程书籍分享
定制专属您的CODESYS运动控制器
MC_Power.status = FALSE,轴也可以运动?
ST语言学习资料汇总
--------END--------
喜欢本文请在下方分享及“点赞”和“在看”
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
工控大侠
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』