河南省漯河市西门子中国总代理-西门子选型-西门子技术支持-西门子维修服务
- 供应商
- 广东湘恒智能科技有限公司
- 认证
- 变频器
- 西门子代理商
- 触摸屏
- 西门子一级代理
- 伺服电机
- 西门子一级总代理
- 联系电话
- 18126392341
- 手机号
- 15267534595
- 联系人
- 梁涛
- 所在地
- 惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)(注册地址)
- 更新时间
- 2024-05-22 09:10
plc在工业自动化领域是常用的控制器,一般在和上位机界面通讯时,经常使用组态软件。以西门子plc为例,上位机可以使用西门子的wincc。但是当面对需求比较多样化的需求时,wincc难以胜任。而且作为量产的标准化产品,wincc授权的费用一笔不小的成本。s7.net.dll是应用在 .net平台上和西门子plc通讯的一个动态库。大家可以到github中直接去下载,或者直接搜索“s7.net.dll”也可以找到下载的链接。文章后也会给出链接。
如下图所示,rack为0,slot为1。
1
2
3
4
5
6
7
8
9
获取是否连接成功:
public bool isconnected { get; }1
连接plc:
public void open();1
2
该类库提供了两个用于plc连接的函数,区别在于第二个为异步连接,在请求连接的过程中,不会导致线程阻塞。我个人比较喜欢第二种方式。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
展开全文