新闻资讯

洛阳市SIEMENS一级分销商西门子(中国)有限公司授权总代理

发布时间:2024-07-20 10:13  点击:2次
 startByteAdr是在数据块内以字节为单位的起始地址,可以传入0。bitAdr 为需要操作的位的偏移地址(以startByteAdr为基准),value 为写入的值。dataType为枚举类型,我们操作的是数据块,传入DataBlock。
public void WriteBit(DataType dataType, int db, int startByteAdr, int bitAdr, bool value);
public enum DataType
{
    Counter = 28,
    Timer = 29,
    Input = 129,
    Output = 130,
    Memory = 131,
    DataBlock = 132
}
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

按字节读:count代表读的字节数量。在进行按字节读写时,对于8位的单字节变量来说没有任何问题。但是对于多字节比如在PLC中16位I的INT类型,需要注意大小端问题。在西门子PLC中以大端模式存储数据,但是在Intel的X86架构的PC上,却是以小端模式。所以,在从PLC读取一个INT类型的变量,需要将读取回来的字节数组高低字节调换,后面C#程序中会有详细的实现代码。
public byte[] ReadBytes(DataType dataType, int db, int startByteAdr, int count);
  • 1

字节写:value代表将要传输的数据转换成的字节数组,如果要操作一个INT变量,需要提前将高低字节调换,后面C#程序中会有详细的实现代码。
public void WriteBytes(DataType dataType, int db, int startByteAdr, byte[] value);
  • 1

(二)PLC设置

实现外部程序可以访问操作DB块,需要对PLC部分做一些设置。首先对于要读取或者访问的DB块,要将优化的块访问取消,默认为勾选的,选中块右击选择属性。

图片

同时还要在硬件组态中,设置防护与安全中的连接机制。将“允许来自远程对象的PUT/GET访问”勾选。如下图:
图片

(三)C#程序

在C#上位机软件中,对通讯类库的函数做一个简单的包装,以方便我们使用。首先新建一个类S7,在项目中需要引用S7.NET,并在该类中包含命名空间。
using S7.Net;
  • 1

广东湘恒智能科技有限公司

联系人:
董海波(先生)
电话:
13510737515
手机:
13185520415
地址:
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)
邮件:
857835895@qq.com
我们发布的其他新闻 更多
siemens新闻
拨打电话
QQ咨询
请卖家联系我