手把手教你从入门到精通C#与PLC通信
c#上位机 2024-10-13 10:05:02 阅读 96
前言:
我们在上位机软件开发中,经常需要和各种Plc进行通信,比如欧姆龙PLC、三菱PLC、西门子PLC、汇川PLC、倍福PLC等,可以说掌握与PLC的通信是上位机软件开发工程师的必备技能,如果不会的话,面试那一关一般都过不了,作者在自动化领域耕耘多年,做过和多种PLC通信的项目,和欧姆龙PLC通过HostLink的C-Mode协议、Fins协议,fins协议中的tcp与udp通信,和汇川PLC通过的Modbus TCP协议通信,和三菱plc通过mc协议通信,作者也写了几个助手来帮助大家调试时使用,比如欧姆龙Fins-Tcp调试助手、欧姆龙Fins-Udp调试助手、倍福ADS通信调试助手等。古人云读万卷书不如行万里路,行万里路不如名师指路,所以入门最快的方法一定是找个前辈模仿他,年轻的时候一定要投资自己!买书、买课程学习都是你提升自己最快的方法,成为高手别无他法,努力学习+模仿高手,他日一定有所成就!一本书、一个课程几十块钱,但是在未来为你赚到的钱一定是这些成本的几十倍、几百倍、上千倍,甚至更多!如果你是一个普通人,没有强大的背景,一定要持续学习,持续学习是普通人逆袭唯一的方法!如果想精通C#与PLC的通信编程,C#基础的语法知识必不可少,订阅我的专栏《 C#与PLC通信从入门到精通 》就送《C#本质论》、《C#图解教程》电子书。只有系统掌握了各种Tcp/Udp通信的知识以及应用,才算是一个高手,不然怎么轻松拿30万+年薪。
说了那么多,大家肯定好奇,我花了钱学你这个专栏我到底能获得什么?掌握的知识总结如下:
1、C#与欧姆龙PLC通信的C-Mode协议;
2、C#与欧姆龙PLC通信的Fins Udp协议;
3、C#与欧姆龙PLC通信的Fins Tcp协议;
4、C#与倍福PLC通信的ADS协议;
5、C#与汇川PLC通信的Modbus Tcp协议;
6、C#与三菱PLC通信的MC协议;
更多协议开发中。,。。
学完本专栏,以后遇到的C#与常规PLC通信都是手到擒来!雷军曾说你会发现你生命中遇到的问题百分之九十的问题别人都遇到过,你需要做的就是找个人问一下,我就是那个你需要问的人。
一、《 C#与PLC通信从入门到精通 》专栏文章目录
点击下面的文章链接即可转到该文章:
1、C#与欧姆龙PLC 通信——fins udp协议
2、C#与欧姆龙PLC 通信——fins udp协议
3、C#与欧姆龙PLC通信——HostLink之C-mode协议
4、C#与倍福Plc通信——ADS协议
5、C#与PLC通信——如何设置电脑IP地址
6、C#与PLC通信——如何检测电脑与PLC之间的网络是否通畅
7、C#与欧姆龙PLC通信——如何更改PLC的IP地址
8、C#与倍福Plc通信——使用仿真软件模拟倍福PLC运行
更多文章更新中。。。
二、C#与欧姆龙PLC通信——C-mode协议
欧姆龙PLC在工控领域占有很大的市场份额,在上位机编程领域,实现上位机和欧姆龙PLC的通信也是必备的技能,上位机和PLC可以通过HostLink通信,HostLink又分为C-mode和Fins,本文就是介绍HostLink中的C-mode协议,为了帮助大家学习C-mode协议,我编写了“欧姆龙HostLink-Cmode调试助手”,该助手具备读取单个地址、写入单个地址、读取连续多个地址、写入连续多个地址功能。
1)读取Int16单个地址值(有符号整数)
2)读取Unt16单个地址值(无符号整数)
3)读取Float32单个地址值(小数)
4)写入Int16单个地址值(有符号整数)
5)写入Unt16单个地址值(无符号整数)
6)写入Float32单个地址值(小数)
7)读取Int16连续多个地址值(有符号整数)
8)读取Unt16连续多个地址值(无符号整数)
9)读取Float32连续多个地址值(小数)
10)写入Int16连续多个地址值(有符号整数)
11)写入Unt16连续多个地址值(无符号整数)
12)写入Float32连续多个地址值(小数)
三、C#与欧姆龙PLC通信——Fins Tcp协议
欧姆龙PLC在工控领域占有很大的市场份额,在上位机编程领域,实现上位机和欧姆龙PLC的通信也是必备的技能,上位机和PLC可以通过fins udp和fins tcp协议通信,本文介绍的是fins tcp协议,该协议具有传输稳定的特点,为了帮助大家学习fins tcp协议,我编写了“欧姆龙Fins-Tcp调试助手”,该助手具备读取单个寄存器地址、写入单个寄存器地址、读取多个连续寄存器地址、写入多个连续寄存器地址、支持多线程读写等功能,具体读写的数据类型如下:
1)读取Int16单个地址值(有符号整数)
2)读取Unt16单个地址值(无符号整数)
3)读取Float32单个地址值(小数)
4)写入Int16单个地址值(有符号整数)
5)写入Unt16单个地址值(无符号整数)
6)写入Float32单个地址值(小数)
7)读取Int16连续多个地址值(有符号整数)
8)读取Unt16连续多个地址值(无符号整数)
9)读取Float32连续多个地址值(小数)
10)写入Int16连续多个地址值(有符号整数)
11)写入Unt16连续多个地址值(无符号整数)
12)写入Float32连续多个地址值(小数)
13)支持多线程同时读写
四、C#与欧姆龙PLC通信——Fins Udp协议
欧姆龙PLC在工控领域占有很大的市场份额,在上位机编程领域,实现上位机和欧姆龙PLC的通信也是必备的技能,上位机和PLC可以通过fins udp和fins tcp协议通信,本文介绍的是fins udp协议,该协议具有传输速度快的特点,为了帮助大家学习fins udp协议,我编写了“欧姆龙Fins-Udp调试助手”,该助手具备读取单个寄存器地址、写入单个寄存器地址、读取多个连续寄存器地址、写入多个连续寄存器地址、支持多线程读写等功能,具体读写的数据类型如下:
1)读取Int16单个地址值(有符号整数)
2)读取Unt16单个地址值(无符号整数)
3)读取Float32单个地址值(小数)
4)写入Int16单个地址值(有符号整数)
5)写入Unt16单个地址值(无符号整数)
6)写入Float32单个地址值(小数)
7)读取Int16连续多个地址值(有符号整数)
8)读取Unt16连续多个地址值(无符号整数)
9)读取Float32连续多个地址值(小数)
10)写入Int16连续多个地址值(有符号整数)
11)写入Unt16连续多个地址值(无符号整数)
12)写入Float32连续多个地址值(小数)
13)支持多线程同时读写
五、C#与倍福PLC通信——ADS协议
倍福PLC在工控领域占有很大的市场份额,在上位机编程领域,实现上位机和倍福PLC的通信也是必备的技能,上位机和PLC可以通过ADS协议通信,为了帮助大家学习ADS协议,我编写了“倍福ADS通信调试助手”,该助手具备读取单个变量地址、写入单个变量地址、读取数组变量、写入数组变量功能,具体读写的数据类型如下:
1)读取bool变量值(无符号整数)
2)读取Byte变量值(无符号整数)
3)读取Int16变量值(有符号整数)
4)读取Unt16变量值(无符号整数)
5)读取Int32变量值(有符号整数)
6)读取Unt32变量值(无符号整数)
7)读取float32变量值(有符号整数)
8)读取float64变量值(有符号整数)
9)读取string 变量值
10)写入bool变量值(无符号整数)
11)写入Byte变量值(无符号整数)
12)写入Int16变量值(有符号整数)
13)写入Unt16变量值(无符号整数)
14)写入Int32变量值(有符号整数)
15)写入Unt32变量值(无符号整数)
16)写入float32变量值(有符号整数)
17)写入float64变量值(有符号整数)
18)写入string 变量值
19)读取Int16数组变量
20)写入Int16数组变量
上一篇: C++的IO流(文件部分在这里)
下一篇: bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found (required by /libcontroller.so
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。