NetR/Net如何判读一次读写已经完成

NETW  NETR指令中数据块缓存区有D  A  E几个标志位
D是功能完成
是否可以理解为一次读或者一次写 完成  就会D为1
那么第二次读写完成如何知道呢?是否需要在第二次读写前,程序里先把D写为0.

E是发生错误   是否只要一旦发生错误 就会E=1  整个通信就会停止
程序里把E写为0  是否就会重新通信?

很困惑,请大家指教

问题补充:
谢谢阿鸣的回答!
第三条有一点疑问
你说的状态字清除是调用一次NetW吗?
即:
LD     Always_On
NETW   VB100, 0
还是自己用其他指令复位,
VB100为状态字节
比如:
LD     Always_On
R      V100.7, 1
或者
LD     Always_On
MOVB   0, VB100

还是说两种方法都可以?
在S7 200没看到更多状态字的细节描述
//-----------------------------------------
3、那么第二次读写完成如何知道呢?是否需要在第二次读写前,程序里先把D写为0.?
是的。当执行一次网络读写指令NetR/NetW后,要编程将缓冲区的数据进行相应处理后,要用NetW指令发一条信息来清除状态字。

图片说明:

NetR/Net如何判读一次读写已经完成   

最佳答案

1、有关参数代码:
D:操作已完成。0=未完成,1=已完成。
A:操作已排队。0=无效,1=有效。
E:操作返回一个错误。0=无错误,1=错误。
2、是否可以理解为一次读或者一次写 完成  就会D为1?
是的。执行一次网络读写指令NetR/NetW上述有关参数代码就重置一次。
3、那么第二次读写完成如何知道呢?是否需要在第二次读写前,程序里先把D写为0.?
是的。当执行一次网络读写指令NetR/NetW后,要编程将缓冲区的数据进行相应处理后,要用NetW指令发一条信息来清除状态字。
4、E是发生错误   是否只要一旦发生错误 就会E=1  整个通信就会停止?
是的。此时根据错误代码来进行相应的处理。
5、程序里把E写为0  是否就会重新通信?
必须是错误被排除后,即没有错误才可以,否则E还是置位。
6、使用用NetR/NetW时,应当注意:
避免简单地定时激活NetR/NetW:由于串行通信的特点(如上所述),无法得知何时真正结束。如果定时进行网络读写通信,必须判断此次通信是否正常结束 
同时有效的NetR/NetW指令不能超过8个,否则通信请求队列会超出操作系统的管理能力 
使用SM0.0调用网络读写指令,虽然能长期工作,但不能超过8个指令,而且会出现监控时指令块变为红色的现象,最好还是加上必要的读写状态判断条件。 
最简单可靠的方法,是使用Micro/WIN中的NetR/NetW Wizard(网络读写指令向导)。
使用NetR/NetW向导可以编辑最多24条网络读写指令,其核心是使用顺序控制指令,这样在任一时刻只有一条NetR/NetW指令有效。如果要求超出24条网络读写指令,可以自己按照此方法编程。
7、如果不使用向导自己编程,建议看看:
<S7-200 可编程控制器系统手册>下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1017[2].pdf

提问者对于答案的评价:
虽然还是有点疑惑
不过,已经明白多了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc305318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午3:39
下一篇 2020年10月31日 下午3:39

相关推荐

  • 下载s7 200 smart编程软件

    下载s7 200 smart编程软件 最佳答案 官方下载地址:软件:STEP 7 Micro/WIN SMART V2.…

    SIMATIC S7-200 2017年5月29日
  • s7200可以带多少个modbus从站?

    s7200可以带多少个modbus从站? 最佳答案 modbus 是一种单主站的主/从通信模式。modbus 网络上只能有一个主站存在,主站在 mod…

    SIMATIC S7-200 2020年11月1日
  • 关于BCD码

    s7-200手册上BCD码写的最大十进制数是9999最大十六进制数也是9999,为什么呢,看不懂十六进制出现在这里是什么意思 问题补充:bcd的9999换算成十六进制不是270F吗…

    2017年8月15日
  • P I D bu gou yong

    向导不够用,要13个。 图片说明:    钻石用户推荐最佳答案 1个CPU最多支持8路PID,如果需要13路的话,那可以用2个CPU或者用300PLC或者120…

    2021年7月5日
  • 关于变频器、CPU226、昆仑通态触摸屏的使用问题

    请问使用昆仑通态的触摸屏连接plc和变频器能不能实现plc没有程序,变频器参数已设置好就能控制电机呢?    PS:据说触摸屏内有编好的程序…

    SIMATIC S7-200 2021年7月5日
  • 自由口通信问题1

    初学者,问题比较幼稚,在此请教 看了系统手册上的例子,不是很明白 1.MOVB 10,SMB34 它的作用是什么 2.已温控表为例…

    SIMATIC S7-200 2021年7月5日
  • s7-200下载时,如果不想原来的断电保持数据消失,要怎么设置

    我把程序上载,然后程序做一点小的改动,然后下载,结果原来PLC内部的断电保持数据都变0,怎么设置才能不改变原来数据。 最佳答案 在系统块的断电数据保存中设置,如果是程序作了改动在下…

    SIMATIC S7-200 2020年11月5日
  • s7200的数字量输出

    我用的是s7200 -cpu224CN,为什么在程序中显示Q0.1为亮,但是硬件中Q0.1的灯不亮呢?换了别端子的也不行 最佳答案 1、出现这类情况大多都是接错了线导致的…

    SIMATIC S7-200 2020年11月1日
  • 200PLC如何与多个变频器通讯

    怎样用S7200访问5个变频器的数据,变频器支持modbus通讯协议,我想用S7200读取他们的里面的频率和电流,用200的modbus指令库可以吗?因为现在模拟量端口占用完了,只…

    SIMATIC S7-200 2020年10月31日
  • 两台PLC如何一起使用?

    现在需要三个高速脉冲,本机226有两个,准备再用一个带高速口的CPU(EM253太贵,这个高速脉冲不用来控制电机)。不知道这两台PLC该如何连接才能一起使用,在程序上需要哪些操作?…

    SIMATIC S7-200 2020年11月1日