原来做了一个工业项目,关于石英石的深加工控件系统,做为工控机需要与三菱的PLC进行交互操作,包括读取PLC中缓存库的库存,点击加工告诉PLC从哪一个库存里面拿多少数量的板材进行加工等.
和机械工程师沟通了解了一下PLC的原理,以及原来有的一部分VB的通讯代码,于是在这个情况下,自己重新写了一个与三菱PLC串口通讯的类.
先看一个工控的界面
生产任务界面
缓存库界面
桥切机界面
通信格式
PLC里面分为多个各部原件,与机械工程师沟通后,我们用到的就是 X,Y, M,D这四个原件, X,Y两个原件存储的都是是非值,所以用于控制状态的, M和D原件可以存储数据,我们用于读取缓存库的库存.
元件读出
元件写入
关于元件位址如果查询我会在后面把这个三菱的PDF文件放到云盘里
下面我们看C#代码
这个Cls_Fx2N是我重写的PLC通讯类
首先定义了我们与PLC通讯需要用到的各个元件
构造函数里面初始化了一些基本属性
读取元件的数据我们写在了BitValue方法里面
写入元件我们写在了WriteValue方法里面
外部调用类的方法
调用时因为我们存在三个PLC所以是多线程的操作,并且把相关信息都存到的哈希表中,只列一下读和写PLC的核心代码
读取PLC方法
写入PLC的方法