目录

C上位机与台达ES3系列PLC通信

C#上位机与台达ES3系列PLC通信

近几年来,国产PLC的市场占有率在逐步提升,包括台达、信捷、汇川等各大品牌,都有了很大的发展。

本文主要针对台达DVP-ES3系列PLC,实现上位机与PLC之间的ModbusTCP通信。

一、硬件说明

https://i-blog.csdnimg.cn/img_convert/d05fb298f426d38d370921f778cb9e7b.png

DVP-ES3 系列PLC内置4 组高速计数器输入、4组轴输出(脉冲型)或支持8轴单脉冲输出;以及8 轴总线(CANopen)定位输出。

DVP-ES3 系列PLC内置通信端口:RS-485 * 2、Ethernet * 1、CANopen * 1

DVP-ES3 系列采用全新ISPSoft软件进行编程,操作直观简单,除了支持IEC61131-3编程语言外,还支持在线编辑、在线校验、台达FB功能块,程序加密等功能,方便客户程序开发。ISPSoft目前最新版本为3.19,同时还需要安装网络配置软件COMMGR,ISPSoft及COMMGR软件获取方式,公众号【上位机Guide】后台回复编号: 152

二、软件说明

1、软件安装过程就不做过多说明了,安装完成后,首先打开COMMGR,进行通信驱动程序设置,PLC出厂IP是192.168.1.5,这里端口号设置为502。

https://i-blog.csdnimg.cn/img_convert/a0e85a1c89c027e19b0ade7f09c929a8.png

2、打开ISPSoft软件,在工具»通信设置中,选择上面设置的Driver1。

https://i-blog.csdnimg.cn/img_convert/ad351bb0bcf387e97627dc311539817e.png

3、完成后即可进行程序上传下载了,点击PLC主机»联机模式,实现与PLC之间的链接。

https://i-blog.csdnimg.cn/img_convert/f69545fa8913908aeca44c8e0e270686.png

4、打开装置监控表,创建一个监控变量表,添加一些监控变量:

https://i-blog.csdnimg.cn/img_convert/4981694863c30c31ab52c1a0707a18bd.png

三、Modbus地址表

通过上面步骤实现了编程软件ISPSoft与PLC之间的链接,接下来我们实现上位机与PLC之间的通信,这里首先通过官方提供的编程手册,找到一个Modbus地址表,具体如下所示:

https://i-blog.csdnimg.cn/img_convert/bfe4b6aecd38c14b6ca33c0074a2498b.png

四、Modbus测试

上图中的Modbus地址表表明了PLC存储区与Modbus存储区之间的对应关系,其中,我们可以看到Y区是与0区进行对应的,具体对应地址是040961开始,依次类推,这个040961表示的是绝对地址,对应着0区的40960,因此Modbus Poll软件设置如下:

https://i-blog.csdnimg.cn/img_convert/de7a0224b41dd098e5c471dd635ffb9d.png

我们通过ModbusPoll读取结果如下,可以看到与监控表是完全一致的:

https://i-blog.csdnimg.cn/img_convert/35716ca2ffbfa8bfa47429279697246c.png

五、上位机测试

通过ModbusPoll软件实现初步测试后,接下来我们采用C#上位机来实现与PLC之间的通信,C#上位机软件通信部分采用开源Modbus库NModbus4,可以通过Nuget安装NModbus4库,然后编写部分核心代码如下:

1、第一步:连接PLC

https://i-blog.csdnimg.cn/img_convert/35081df40a2ed1858bb96378b292a6b1.png

2、第二步:读取Y存储区数据

https://i-blog.csdnimg.cn/img_convert/aadfe6d1db6fd9fbf0403067aef4d3ee.png