自己写了个程序,是通过MODBUS_RTU读电力仪表的参数!请大家帮忙看一下!
TITLE=本程序用于通过MODBUS_RTU来读取电力仪表的中的数据!同时通过TD400C显示出来!
// 其中VW100为插入到TD400C中A相电流显示
// VW102为B相电流
// VW104为C相电流
// VW106为功率因数
// VD110为总累计有功电度
Network 1 // NETWORK TITLE (single line)
//
//
LD SM0.1
R M0.0, 6
R M1.0, 1
Network 2
LD SM0.0
CALL SBR0
Network 3
LD M1.0
EU
S M0.0, 1
Network 4 // 网络标题
// 网络注释
LD SM0.0
= L60.0
LD SM0.0
= L63.7
LD L60.0
CALL SBR3, L63.7, 9600, 0, 1000, M1.0, MB2
Network 5
// 读A相电流!格式为:******A
LD M0.0
O M0.5
= L60.0
LD M0.0
O M0.5
EU
= L63.7
LD L60.0
CALL SBR4, L63.7, 4, 0, 40007, 16, &VB100, M0.1, MB3
Network 6
LD M0.1
R M0.0, 1
R M1.0, 1
Network 7
// 读B相电流!格式为:******A
LD M0.1
= L60.0
LD M0.1
EU
= L63.7
LD L60.0
CALL SBR4, L63.7, 4, 0, 40008, 16, &VB102, M0.2, MB4
Network 8
LD M0.2
R M0.1, 1
Network 9
// 读c相电流!格式为:******A
LD M0.2
= L60.0
LD M0.2
EU
= L63.7
LD L60.0
CALL SBR4, L63.7, 4, 0, 40009, 16, &VB104, M0.3, MB5
Network 10
LD M0.3
R M0.2, 1
Network 11
// 功率因数显示;格式为:****
LD M0.3
= L60.0
LD M0.3
EU
= L63.7
LD L60.0
CALL SBR4, L63.7, 4, 0, 40010, 16, &VB106, M0.4, MB6
Network 12
LD M0.4
R M0.3, 1
Network 13
// 总累计有功电度;格式为: *********KWH
LD M0.4
= L60.0
LD M0.4
EU
= L63.7
LD L60.0
CALL SBR4, L63.7, 4, 0, 40018, 32, &VB110, M0.5, MB7
TITLE=子程序注释
Network 1 // 网络标题
LD SM0.0
CALL SBR1
Network 2
// 当A,B,C,相任意一相电流大于110A时报过流!
LDW>= VW100, 110
OW>= VW102, 110
OW>= VW104, 110
CALL SBR2, V246.7