C#上位机开发入门(6)-通信(上)

内容分享4小时前发布
0 4 0

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地址。

C#上位机开发入门(6)-通信(上)

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

C#上位机开发入门(6)-通信(上)

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

C#上位机开发入门(6)-通信(上)

DB块结构参见下图所示。

C#上位机开发入门(6)-通信(上)

下载PLC项目

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

C#上位机开发入门(6)-通信(上)

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

C#上位机开发入门(6)-通信(上)

VS项目

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

C#上位机开发入门(6)-通信(上)

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

C#上位机开发入门(6)-通信(上)

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

C#上位机开发入门(6)-通信(上)

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

再选中控件“txtIPAddress”,就是第一个TextBox控件。在它的属性Text中输入“192.168.0.12”。这个就是我们在PLC项目中设置的PLC地址。

C#上位机开发入门(6)-通信(上)

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

C#上位机开发入门(6)-通信(上)

C#上位机开发入门(6)-通信(上)

© 版权声明

相关文章

4 条评论

  • 头像
    yyjqbwddjszt 读者

    受教

    无记录
    回复
  • 头像
    孤王扶苏 读者

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

    无记录
    回复
  • 头像
    小雅家 读者

    最后呢?

    无记录
    回复
  • 头像
    Ognoruyuhz 投稿者

    关注了

    无记录
    回复