1.PLC程序编写及通信配置
2.完善winform上位机程序,根据PLC的通信协议进行通信部分的编程
PLC程序编写及通信配置:
回想上节我们说过的一句话,上位机的通信协议由下位机来决定,所以我们需要选择一个通信协议,我们今天采用西门子S7-1200紧凑型小型plc,所以为了教学方便我们今天选择西门子自己通信协议S7通信协议。
好了,都安静。那个陈独秀同志先坐下,现在开始上课,有请扁桃体同学发言:
让我们新建一个plc项目


注意:务必确认好自己PLC的CPU订货号以及固件版本,否则PLC会报错,订货号在PLC侧面可以看见。

程序段2:我们需要使用程序段二作为我们的PLC程序,这样的好处是一个位就可以控制开和断,点一下为开,再点一下为关,如此反复,如果使用程序段1则是两个位控制开断,当然在有的场景程序段一比程序段二更适合,这里不做讨论。
PLC

打开我们之前的winform项目:在右侧解决方案那里添加引用
封装的好处在于通信协议是一个会经常重复使用的代码段,这样会减少开发人员的开发时间,同时也有利于只会PLC编程的同志们学习上位机编程。
关于我们今天使用的S7协议,是比较适合西门子PLC通信的,因为不需要在PLC里进行通信编程,但是S7协议西门子是不对外开放的,所以我们只有通过抓包解析来了解通信协议,具体怎么抓包解析可以百度,这里不做讲解,你只需要知道我们已经有了一份写好的通信协议了,只需要引用配置使用就OK啦!



我们查看PLC的变量表,知道LED启停控制位使用的是M10.2,所以我们在LED按钮里面加入对M10.2位的数据修改就可以做到LED控制了。

修改LED按钮如下:

万事大吉,现在运行Winform上位机,点击按钮即可看见PLC的Q0.2输出点(LED常量位)亮灭了。
好了,今天的教学先到这里,下一节我们将要详细学习Modbus通信协议,这是一个开放的通信协议,所以我会讲解具体的通信细节,怎么来自己写通信,而不是调用别人封装好的通信文件。如果大家有好的建议以及想法可以留言评论,你们的点赞评论将是我教学的动力哦。我是橘子猫,谢谢观看!