C#上位机的很重大部分就是和现场PLC或者仪表进行通信。目前市场占有率最高的PLC是西门子的S7系列。所以在通信部分我们以西门子的S7-1500为例进行介绍。采用S7-1500的缘由是通信程序可以采用仿真器来进行测试,其效果和物理PLC没有区别。由于使用的是S7协议,这些通信程序同样也可以用于
S7-200/200Smart/300/400/1200系列PLC。
使用C#开发的上位机和S7系列PLC通信有好几种可用的类库,有收费的,也有开源免费的。我们实则没必要每种都测试一遍,选择稳定可靠的一款即可。根据我们长期的工程经验,Sharp7是质量过得去的一款基于S7协议的通信类库。本例中我们也将使用它来演示和PLC的数据交换。
准备PLC项目
新建一个TIA项目,插入一个1500PLC。第一设置IP地址。

再切换到“防护与安全”,勾选“允许来自远程的PUT/GET通信访问”。

最后添加一个DB块,在其属性中去掉“优化的块访问”选项。

DB块结构参见下图所示。

下载PLC项目
有条件的话可以使用物理PLC。没条件的话使用PLCSIM Advanced也是一样的。运行PLCSIM Advanced,添加一个PLC。IP地址和我们在TIA项目中的PLC地址一致。

下载程序到PLCSIM Advanced中。DB块中的几个变量手动随意设置一个初始值。

VS项目
创建一个名为“PLCTest”的项目。

从左边工具箱中拖2个TextBox控件和2个Button控件到窗体上,并调整好大小和位置。

选中上图中的第一个TextBox控件,在属性窗口中设置Name为“txtIPAddress”。从名称可以看出来,这个TextBox控件是用于设置IP地址的。

修改了名称后,在后面编写代码时,我们要访问这个控件就使用“txtIPAddress”即可。然后再选中上图中的第二个TextBox控件,在属性窗口中设置Name为“txtValue”。用同样的方法修改上面的两个按钮控件名称分别为“btnConnect”和“btnReadData”。
再选中控件“txtIPAddress”,就是第一个TextBox控件。在它的属性Text中输入“192.168.0.12”。这个就是我们在PLC项目中设置的PLC地址。

再用同样的方法设置两个按钮的Text属性值分别为“连接”和“读取”。完成后的窗体如下图所示。





受教
辛苦了,这种内容费力而不讨好!费力是真费力,难度不一定大,但是很花时间!不讨好不是没人看,而且受众人群太小了,说实话能看懂的也不多
最后呢?
关注了