汇川PLC AM600、AC800系列Modbus TCP通讯案例(PLC和C++源码)
网址分享:
- 汇川官方论坛,有问题可以来这里提问:http://bbs.inovance.com/forum.php?gid=36
- 汇川官网视频教程,很详细:http://www.inovance.cn/support/share_issue.html
- 汇川官方资料下载地址:http://www.inovance.cn/support/download.html
- 推荐汇川相关博客,内容很丰富:http://www.yanjuntech.cn/archives/category/工控技术/plc应用/中型plc
- 本文程序源码以及汇川PLC编程资料下载地址:https://download.csdn.net/download/u012293114/12077053
Modbus TCP通讯案例分享:
AM600系列和AC800系列通讯程序一样,下面以AC801与C++上位机通讯为例,有如下几点注意事项:
1、C++上位机
官方提供的Modbus TCP Api是以H3U系列PLC通讯为例的,里面代码只需要做一点点调整,将H3U的函数以及常量名替换为AM600的,分别为
REGI_H3U_DW→ELEM_MW,
H3u_Write_Soft_Elem→Am600_Write_Soft_Elem,
如下:
//代码示例1:把100写入MW0中
//SoftElemType eType = REGI_H3U_DW;//寄存器类型SoftElemType eType = ELEM_MW;//寄存器类型int nStartAddr = 0;//寄存器地址int nCount =1;//寄存器个数BYTE pValue[8];//缓冲区int nNetId = 0;//连接idunsigned short nValue = 100;//把要写的数据存入缓冲区,备写memcpy(pValue,&nValue,sizeof(nValue));//调用api写数据//int nRet = H3u_Write_Soft_Elem(eType,nStartAddr,nCount, pValue,nNetId );int nRet = Am600_Write_Soft_Elem(eType, nStartAddr, nCount, pValue, nNetId);if (nRet){AfxMessageBox(_T("写寄存器成功"));} else{AfxMessageBox(_T("写寄存器失败"));}
AM600系列只有三个缓存区,详细说明见另一篇文章:
汇川PLC AM600、AC800系统变量内存及变量寄存器地址分配
只有Q区和M区可以在C++上位机端访问:
//AM600ELEM_QX = 0, //QX元件ELEM_MW = 1, //MW元件ELEM_X = 2, //X元件(对应QX200~QX300)ELEM_Y = 3, //Y元件(对应QX300~QX400)
2、PLC下位机
PLC端只需要给目标关联变量分配到C++上位机访问的寄存器地址,即可实现PLC变量与上位机程序的关联,代码如下:
PROGRAM PLC_PRG
VARtemp2 AT %MW0 : INT := INT#0;
END_VAR
其中, MW0 就是C++程序中 nStartAddr = 0 所访问的地址,同样,可以一起改为 MW99 和 nStartAddr = 99,只要对应即可。
MW0、MB0、MX0.0以及QX0.0、QB0、QW0所占位数见另一篇文章:
汇川PLC AM600、AC800系统变量内存及变量寄存器地址分配
3、掉电保持区修改
AC801默认M区全部为掉电保持区,如果程序编译出现如下图所示错误:
解决办法:
汇川PLC AM600、AC800系列Modbus TCP通讯案例(PLC和C++源码)相关推荐
- 两台codesys设备之间通过modbus TCP通讯案例
目录 关于modbus TCP server端的设置如下 关于modbus TCP clietn端的设置如下 本案例中N1小白盒codesys作为modbus TCP server端,PC的codes ...
- 汇川AM系列 Modbus TCP通信设置
一 .概述 单击网络组态中的PLC设备,会显示PLC内部所支持的主/从站的使能窗口,如下图所示,单击窗口中的复选框按钮来使能CPU所支持的主/从站功能,再从视图右侧的"网络设备列表" ...
- winpcapp配置c++网口通讯_(经验)西门子PLC的Modbus TCP通讯的一些经验
Modbus是一种协议公开的工业通讯,被广泛使用.通过串口的是Modbus-RTU协议,通过以太网的是Modbus TCP通讯.现在的PLC都开始支持以太网通讯,因此,Modbus TCP也越来越重要 ...
- 三菱PLC FX5U与FX5U 直间modbus tcp 通讯
三菱PLC FX5U与FX5U 直间modbus tcp 通讯 (与此程序经过设备多次使用,硬件一样可以直接用 id=644700625705&
- Labview 和信捷 XDH PLC Modbus tcp通讯
本文描述Labview 和信捷 XDH PLC Modbus tcp通讯,实际测试. 以XDH-60T4-E为实验. 1.地址 1.1默认IP地址:192.168.6.6,端口号:502 1.2点位地 ...
- 动物电子耳标阅读器|识读器|读卡器L8600系列Modbus RTU通讯协议与二次开发说明
动物电子耳标阅读器|识读器|读卡器L8600系列Modbus RTU通讯协议与二次开发说明适用于L8600-S-02.L8600-R-02,更多MODBUS TCP协议资料欢迎交流! 出厂默认配置: ...
- 基于STM32和W5500的Modbus TCP通讯
在最近的一个项目中需要实现Modbus TCP通讯,而选用的硬件平台则是STM32F103和W5500,软件平台则选用IAR EWAR6.4来实现. 1.移植前的准备工作 为了实现Modbus ...
- 台达PLC与台达VFD变频器modbus 通讯案例 完成PLC与变频器的modbus RTU通讯,实现触摸屏上控制变频器启停,设置频率
台达PLC与台达VFD变频器modbus 通讯案例 配件:台达DVP 14es的PLC,台达VFD M变频器. 昆仑通态触摸屏和威纶通触摸屏 功能:完成PLC与变频器的modbus RTU通讯,实现触 ...
- Labview通讯三菱Q PLC,Labvew TCP通讯三菱PLC ,MCTCP,三菱PLC连接LabVIEW,LabVIEW和三菱PLC 通讯
Labview通讯三菱Q PLC,Labvew TCP通讯三菱PLC ,MCTCP,三菱PLC连接LabVIEW,LabVIEW和三菱PLC 通讯 三菱官方MC协议,简单方便,完胜OPC协议. ,源码 ...
- Labview通讯三菱Q PLC,Labvew TCP通讯三菱PLC ,MCTCP,三菱PLC连接LabVIEW
Labview通讯三菱Q PLC,Labvew TCP通讯三菱PLC ,MCTCP,三菱PLC连接LabVIEW,LabVIEW和三菱PLC 通讯 三菱官方MC协议,简单方便,完胜OPC协议. ,源码 ...
最新文章
- 重磅!CSDN 发布「AI开源贡献奖Top5」「AI新锐公司奖Top10」「AI优秀案例奖Top30」三大榜单...
- sudo 密码超时时间
- HTML5新增了哪些标签
- A.DongDong破密码
- 05-ServletconfigServletCOntext
- [转] STL中map用法详解
- 教你用一条SQL搞定跨数据库查询难题
- 信息学奥赛C++语言:派送蛋糕
- 华为手机明年全面升级鸿蒙OS:其实两年前就能用
- 若依如何修改数据监控登录账户密码?
- 尼康日本拟裁员约一千人 涉及半导体制造业务
- python中的缩进是长度统一吗_python缩进长度是否统一
- Linux RT(1)-硬实时Linux(RT-Preempt Patch)在PC上的编译、使用和测试
- E-prime debug
- latex毕业论文模板(附源码)
- freebsd协议栈学习
- 提问|Feed流设计是否应该展示「评论」?
- \t\t盐城范围内野外钓鱼好去处(不是塘钓哟)
- 什么是深度学习?我们为何需要深度学习?
- rm -rfi 防止误删除数据
热门文章
- H5调用微信扫一扫识别二维码
- win10+opencv+VS2015安装教程
- Matlab入门:界面认识
- SQL太难学不会?教你如何零基础快速入门
- TAOCP_2.3.1_遍历二叉树
- oracle dbv验证,【案例】Oracle数据库verify验证块报错4 dbv报错代码:6101解决办法...
- “怎样解题”-第二部分:怎样题解——作者:波利亚
- Android进阶知识(五):IPC基本概念之Binder、Binder工作机制及其原理
- 万人规模互联网公司的企业IT基础架构概览
- java接收前端参数