C#西门子S7 协议通过偏移量的方式读写PLC DB块

      最后更新:2022-07-30 06:56:42 手机定位技术交流文章

      例如,当前的plc有一个 db 块,它要求我们读写 db 块,而位图只在连接到PLC编译器后显示偏差,所以这里没有偏差。

      这是正常编译后,显示偏差的图样

      1.根据偏移值读取第一个bool数据类型

      正如前面的章节所述,它通过安装s7驱动程序包来处理,这不再在这里讨论

      首先要注意一点,只要是通过偏移量的形式进行读写,无论是什么数据类型,都是要进行转换的。例如:读取bool 数据类型,要这样子进行转换,才能读取的到值。

      Convert.ToBoolean(plc.Read("DB20.DBX1.7"))

      • DB20是一个由Siemens创建的DB组件

      • DBX是读写bool类型的固定类型,例如bool类型是DBX,int类型是DBW,该类型在s7文档中引入。
      • 1.7是第一个设置极化值的bool类型

      上面的实现用于读取指定的布尔类型的极化

      1.根据偏移值写出bool数据类型

      写也是同样的道理,因为bool 类型无非就是false或true,所以直接写0或1过去, plc会自动转换成对应的false 或true了。例如:

      plcs.Write("DB20.DBX1.7", 1);

      • 因此,DB20偏差得到了1。 这个bool类型的值已经变为 true

      1.根据偏移读取内式数据类型

      首先,必须转换读取的int类型。 例如,如果当前的int类型是10的极化值的inplc,那么当在程序中读取时应该这样处理,并将其转换为ushort类型。

      short num=((ushort)plcs.Read("DB20.DBW10")).ConvertToShort();

      • 此转换后,您可以读取指定的int类型的极化
      • DBW是读取和写入int数据类型的固定写字方法

      1.4 根据偏移量 写一个 int 数据类型

      写的数据也要转换成ushort,首先要定义一个short变量,赋值 ,然后转换成ushort。

      short PickNums = 20;

      plc.Write("DB20.DBW10", PickNums .ConvertToUshort());

      • 在成功写字之前,你必须转换为短语

      其他类型例如byte,可以通过s7 plc 驱动包 提供的内置方法,根据文档进行读写操作了。方式都大同小异 ,认真看文档就会了,特别简单。

      2.plc必须打开这些设置以成功读写。

      2.1删除优化块访问设置

      当警告框出现时, 单击确认

      2.2访问级别设置为允许

      2.3连接机制,允许远程对象访问通信

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/30895.html

          热门文章

          文章分类