发表于:2011/2/20 23:42:49
#0楼
请问各位高手,下面一段程序我有点看不懂,能否把每一个网络具体讲解一下,比如v100.6、v110.6等具体到位,了解这些有什么意义?另外,在新型号的plc已经有了网络读写的指令向导,可以利用指令向导直接编程。那么,在这种情况下,还需要学习NETR/NETW指令吗?
LD SM0.1
MOVB 2, SMB30 // PPI主站模式
FILL +0, VW100, 10 // 清空接收缓冲区和发送缓冲区
LD V100.7 // 若网络读操作完成
MOVB VB107, QB0 // 将读取的B机的IB0送给QB0
LDN SM0.1
AN V100.6 // 若NETR未被激活
AN V100.5 // 且没有错误
MOVB 3, VB101 // 送远程站的站地址
MOVD &IB0, VD102 // 送远程站的数据区指针值IB0
MOVB 1, VB106 // 送要读取的数据字节数
NETR VB100, 0 // 从端口0读B机的IB0,缓冲区的起始地址为VB100
LDN SM0.1
AN V110.6 // 若NETW未被激活
AN V110.5 // 且没有错误
MOVB 3, VB111 // 送远程站的站地址
MOVD &QB0, VD112 // 送远程站的数据区指针值QB0
MOVB 1, VB116 // 送要写入的数据字节数
MOVB IB0, VB117 // 将本机的IB0的值写入发送数据缓冲区的数据区
NETW VB110, 0 // 从端口0写B机的QB0,缓冲区的起始地址为VB110
LD SM0.1
MOVB 2, SMB30 // PPI主站模式
FILL +0, VW100, 10 // 清空接收缓冲区和发送缓冲区
LD V100.7 // 若网络读操作完成
MOVB VB107, QB0 // 将读取的B机的IB0送给QB0
LDN SM0.1
AN V100.6 // 若NETR未被激活
AN V100.5 // 且没有错误
MOVB 3, VB101 // 送远程站的站地址
MOVD &IB0, VD102 // 送远程站的数据区指针值IB0
MOVB 1, VB106 // 送要读取的数据字节数
NETR VB100, 0 // 从端口0读B机的IB0,缓冲区的起始地址为VB100
LDN SM0.1
AN V110.6 // 若NETW未被激活
AN V110.5 // 且没有错误
MOVB 3, VB111 // 送远程站的站地址
MOVD &QB0, VD112 // 送远程站的数据区指针值QB0
MOVB 1, VB116 // 送要写入的数据字节数
MOVB IB0, VB117 // 将本机的IB0的值写入发送数据缓冲区的数据区
NETW VB110, 0 // 从端口0写B机的QB0,缓冲区的起始地址为VB110