1.文章里面是两个站点的轮询;你的第一个接收区是DB4 DBB_NO是0 第二个接收区是DB5 DBB_NO是2 我不理解 DBB_NO
2.我现场有20个这样的仪表。我也照你的例子写了20段这样的程序,指令计数器上限和下限分别是0和20 ,那接收区是DB2-DB21 每个从站DBB_NO写多少了。
3.我在西门子网站上找的资料介绍说 DBB_NO (0,<= DBB_NO<=8190)从数据字节开始接收数据。不理解为什么是0到8190,是不是我这样理解成每个从站我要读取的这个地址在 整个地址中的序号。那这样我的每个从站DBB_NO写0,到19是吧。
麻烦阿鸣老师解释一下!
最佳答案
1、DBB_NO:发送/接收数据的起始地址,即用DB_NO指定的数据块中第x(NO)个字节开始。其后还有LEN即长度。例如DB_NO为1,DBB_NO为0,LEN为6,表明为DB1中的DBB0,DBB2,.....,DBB5共六个字节。
2、每个从站DBB_NO写多少了?
这要根据你的实际需要了,即你要根据需要采集每个的仪表数据的多少来定。
3、DBB_NO:是发送/接收数据的起始地址不要与DB_NO(数据块号)相混淆。打个通俗比喻,DB_NO(数据块号)是楼门号,对应某个仪表。DBB_NO(起始地址)是楼门里的房间号,对应一个仪表数据要从哪个房间开始存入数据。
4、上述是为了数据结构清晰,才定义一个仪表对应一个DB_NO(数据块号),采集仪表的数据对应存入DBB中。这不是死规定,也可将所有仪表对应一个DB(数据块),在该数据块中分配相应的DBB,来存放不同仪表的数据,但这种所有仪表只对应一个DB(数据块),编程时要十分小心且编程繁冗,要顾及数据的对应关系。
5、还是每一个仪表(从站)各对应一个DB(数据块),这样数据结构清晰,编程简单。
A0336这篇文章中举例为2个从站,例中建立了2个数据块,DB4,DB5分别对应两个从站。每个数据块开了一定长度字的整型数组。
提问者对于答案的评价:
明白了,谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc237508.html