找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
小程序查看
手机扫码追踪该问题
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
这里你主要理解远程站地址跟指针指向就行了;
远程站地址指的是远程站中的站号,这点不用多说
指针指向:它指向的是远程站中的,比如&VB0中的VB0.,它指的是远程站中的VB0
明白这两点,程序就不难了~~下面是一些解释:
TITLE=子程序注释
Network 1
// 开始循环
LD SM0.0
FOR VW980, 1, 5//循环5次
Network 2
// 循环计时,每一秒VW7500就自己加1
LD SM0.5
EU
INCW VW7500
Network 3
// 循环周期,判断是否已够12次了~如果是就接通
LDW>= VW7500, 12
MOVW 0, VW7500
Network 4
LD SM0.0
MOVB 2, SMB30//SMB30是一个自由端口的控制字来的,你可以在帮助那里找到,这里的意思是选PPI通信
Network 5 // 网络题目 (单行)
// 降雨设定时间段网络写入
LDW>= VW7500, 0//如果VW7500>=0 该点接通
AW<= VW7500, 2//如果VW7500<=2该项点接通
MOVB 0, VB8000///它这里应该是把VB8000开始作为读写的TBL了,你可以在帮助那里写上NETW后找到它的说明的,关于TBL的定义,帮助那里写得很清楚了
MOVB 2, VB8001//这里是写入远程站的地址,比如说你要跟哪个PLC通信,就把它的通信地址写上(这里是2号站)
MOVD &VB6342, VD8002//这句话的意思是把数据写到远方的指针中,也就是说&VB6342这个是远程站中的指针,&VB6342指的是远程站PLC中的VB6342,把本站中的数据写到远程站中的这个地址中
MOVB 16, VB8006//这是数据通信的长度:16字节
BMB VB6342, VB8007, 16//把数组VB6342~VB6358复到VB8007到VB8025中..注意这里的VB6342~~还是本PLC中的,,,(不是远程站的,虽然名字相同)//它指的是本站中要发送的数据
NETW VB8000, 0//发送
Network 6 // 网络标题
// 网络注释
Network 7 // 网络题目 (单行)
//
//
// 降雨水温设定值网络写入
//
LDW>= VW7500, 3
AW<= VW7500, 5
MOVB 0, VB8100//复位TBL的第一个字节
MOVB 2, VB8101//远程站中的站号
MOVD &VB6408, VD8102//这里的VB6408指的是远程站PLC中的/意思是把数据写到远方的VB6408的地址中
MOVB 8, VB8106//数据长度=8个字节
BMB VB6434, VB8107, 8//把VB6434到VB6442复制到VB8107到VB8015中;注意这里的VB6434是本PLC中的,它指的是本地中要发送的数据
NETW VB8100, 0/发送
Network 8 // 网络标题
// 网络注释
Network 9 // 网络题目 (单行)
//
// 降雨雨量设定值网络写入
//
//
LDW>= VW7500, 6
AW<= VW7500, 8
MOVB 0, VB8200
MOVB 2, VB8201
MOVD &VB6424, VD8202//同样这里的VB6424是远程站中的.把数据写到远程站中的VB6424的地址中
MOVB 8, VB8206
BMB VB6424, VB8207, 8//这里的6424是本PLC中的,
NETW VB8200, 0
Network 10
Network 11 // 网络题目 (单行)
//
// 降雨档数网络写入
//
//
LDW>= VW7500, 9
AW<= VW7500, 11
MOVB 0, VB8300
MOVB 2, VB8301
MOVD &VB6372, VD8302
MOVB 2, VB8306
BMB VB6372, VB8307, 2
NETW VB8300, 0
Network 12
// 结束循环
NEXT
先把这个例子看明白:
NETWORK 1
LD SM0.1 // 首次扫描时,
MOVB 2 SMB30 // 启用PPI主模式,
FILL +0 VW200 68 // 并清除所有的接收和传输缓冲区
NETWORK 2
LD V200.7 // 当"NETR完成"位被设置
AW= VW208 +100 // 且100种情况被组装,
MOVB 2 VB301 // 载入情况分组#1的站址
MOVD &VB101 VD302 // 将指针载入远程站中的数据
MOVB 2 VB306 // 载入需要传输的数据长度
MOVW +0 VW307 // 载入需要传输的数据
NETW VB300 0 // 复原由情况分组#1组装的情况数目
NETWORK 3
LD V200.7 // 当"NETR完成"位被设置,
MOVB VB207 VB400 // 保存来自情况分组#1的控制数据。
NETWORK 4
LDN SM0.1 // 如果不是首次扫描,
AN V200.6 // 并没有错误,
AN V200.5
MOVB 2 VB201 // 载入情况分组#1的站址
MOVD &VB100 VD202 // 将指针载入远程站中的数据
MOVB 3 VB206 // 载入将要接收的数据长度
NETR VB200 0 // 读取情况分组#1中的控制和状态数据
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!