前言:
当前你们对“判断奇偶数代码vb”都比较讲究,各位老铁们都需要了解一些“判断奇偶数代码vb”的相关内容。那么小编同时在网上网罗了一些关于“判断奇偶数代码vb””的相关文章,希望我们能喜欢,朋友们一起来了解一下吧!举例看懂西门子MODBUS通信程序
前一篇文章写了西门子PLC与PLC之间MODBUS通信地址与实际PLC地址的对应关系,下边以实际举例来看懂MODBUS通信程序。
Modbus地址有4类:
00001---09999是离散输出地址,对应PLC的Q线圈。
10001---19999是离散输入地址,对应PLC的I输入点。
30001---39999是输入寄存器地址,对应PLC模拟量输入AIW
40001---49999是保持寄存器地址,对应PLC的V存储器
案例一:
主站定义通信参数
SM0.0----为常为“1”状态,因此
EN端----常为1,保证该指令每个扫描周期被调用。
Mode---常为1,表示启用Modbus协议。
Baud---“波特率“9600
Parity---“奇偶校验参数“,0-无校验,1-奇校验,2-偶校验。
Timeout---“超时”参数。“超时”参数设为等待来自从站应答的毫秒时间数。
Done--- 1=执行完定义参数,0=没执行.
Error---错误代码,VB0=0 无错误
VB0=1 奇偶校验选择无效
VB0=2 波特率选择无效
VB0=3 超时选择无效
VB0=4 模式选择无效
MBUS_MSG : 主站读写指令
从程序看出:
EN:指令使能位。常通信号1
First:触发该指令。要用沿信号。
Slave:从站站号为1,(1-247均可)
RW:读写选择:0——读,1——写
Addr:为1,表明是0类地址,实际为00001,对应从站起始地址是Q0.0
Count:“计数”8,表示要读取或写入的位数,本例是写到Q0.0到Q0.7的八个点。
Data Ptr:表示主站读取或写入第一个CPU存储器位置。必须指针用&符号。本例是主站的&IB0。
Done:完成位
Error:错误代码
该案例表示:
主站执行写指令RW=1,主站的IB0(I0.0到I0.7)控制从站的Q0.0到Q0.7八个位。
MBUS_INIT: 从站定义参数
1、EN:使能,要用沿信号,只接通一次。
2、Mode:模式0=禁止modbus通信, 1=允许modbus通信
3、Addr:从站地址1(1-247均可)(要与主站读写指令里地址一致
4、Baud:波特率。与主站一致
5、Parity:奇偶校验。与主站一致
6、Delay:通信延时,0=立即应答
7、MaxIQ:可以被主站读取的从站的I/Q点的范围
8、MaxAI:可以被主站读取的从站的模拟量输入范围
9、MaxHold:可以被主站读取的从站的V存储区的个数
10、Holdstar:从站V存储区的首地址,本例是VB0
11、Done:完成位
12、Error:错误代码
MBUS_SLAVE:从站应答指令
EN:使能位,用常通1信号
Done:完成位
Error:错误代码
案例2
主站程序表明:从站地址是1,RW=1表明给从站写数据
40001---表明要给从站的第一个V存储器写数据,本例是给从站VW0,可以从从站程序看出来
Count:1表示写主站的一个字,本例是IW0
主站起始指针是&IB0,第一个字是IW0
从站程序
从站程序可看出:Addr—从站地址是1
&VB0---表明从站存储器的起始地址是VW0
以上案例表示是---主站IW0控制从站VW0。可利用的有16个位
I0.0---控制V0.0
I0.1---控制V0.1 ------- 直到I1.7---控制V1.7
案例 如上图
表明读10001对应的从站1 IB0到主站的VB0,8个位。
即从站IB0控制主站VB0
如上图 40001 表明主站的一个字VW2(VB2VB3)写给从站1的第一个字V区,即主站VW2控制从站1的第一个V区。
从VB2.0开始到VB3.7 16个位控制40001对应的从站第一个V区,比如VW10(VB10.0到VB11.7)
标签: #判断奇偶数代码vb #vb判断奇偶数的程序