《【2017年整理】FB2和FB3的功能》由会员分享,可在线阅读,更多相关《【2017年整理】FB2和FB3的功能(8页珍藏版)》请在金锄头文库上搜索。
1、你这里的 FB2/FB3 是用于串行通讯模块 CP340 通讯编程的,FB2用于接收数据,FB3P_RCV 功能块允许接收来自一个通信伙伴的数据并将其存储在一个数据块中。FB 参数: 名称 类型 数据类型 注释 有效设置 备注EN_R INPUT BOOL 数据的读取发布。 静态1R INPUT BOOL 作业中断 当前作业被中断 禁止接收LADDR INPUT INT CP 340 的基础地址 从 STEP 7 获得基础地址DB_NO INPUT INT 数据块编号,接收 DB号随不同的 CPU 而定,不允许为零DBB_NO INPUT INT 数据字节编号 0 在返回数据时将从站地址和功能
2、码丢弃,故 DB 块中未见从站地址和功能码字节,而仅是数据内容。程序不能根据从站地址、功能码来判定响应数据的种类,但 CP340 却规定了给定时间内仅允许一个发送模块(FB2)和一个接受模块(FB3)工作。这就意味着它们在程序中已形成一一对应关系。在设计程序时,可根据 MODBUS 的格式约定从返回的 DB 块中自行读取所需的数据,如返回的数据为0064,格式为 16 位整数,其读取地址为 DB5.DBW01。要读取从站(地址为 01)从 1789(十六进制,分高低位存储)开始的一个寄存器(十六进制,分高低位存储,占 2 个字节)的内容,其请求帧数据见表 5。CRC 校验数据自行设定。返回数据
3、为 0064(数据分高位和低位存放,占 2 个字节,转换为十进制是 100,即 616+4) ,返回帧见表 6。表 5 请求帧从站地址号 功能号 起始寄存器号(X) 寄存器数(N ) CRC 校验01 03 17 89 00 01 12 34a1 a2 a3 a4 a5 a6 a7 a1表 6 响应帧从站地址号 功能号 字节数 数据高位 数据低位 CRC 校验01 03 02 00 64 12 34a1 a2 a3 a4 a5从站地址范围 1-24 表中每格中的数据单位为字节,实例FC60 -接收/发送子程序(CP340)程序段 1程序段 2 调用 FB3 “P-SEND”程序段 3 程序段
4、4 程序段 5 程序段 6 调用 FB2 “P-RCV”P_RCV 无参数检查,如出现无效参数,CPU 将切换到 STOP 模式,必须先完成 P_RCV 功能块的 CP_CPU 启动机制,则 CPU 从 STOP 切换到 RUN 模式后,CP340 才能接收到请求。FC61 协议处理子程序程序段 112当 DB5.DBW4 读对应仪表 仪表地址DB5.DBB0DB5.DBB1 DB5.DBB2=1 1#进线 1 B#16#B6(182)B#16#E8(232)=2 2#进线 2 B#16#B6(182)B#16#DB(219)=3 2#机 3 B#16#B7(183)B#16#A(10)=4
5、5#机 4 B#16#B6(182 B#16#BD(189) )=5 3#机 5 B#16#B7(183)B#16#6C(108)=6 4#机 6 B#16#B7(183)B#16#5F(95)=7 变频器 7 B#16#B6(182)B#16#DB(142)=8 ? 8 B#16#85(133)B#16#4B(75)=9 6#机三相电压 15 B#16#85(133)B#16#39(57)=10 6#机三相电流 15 B#16#4(4) B#16#FB(251)=11 6#机有功/无功功率15 B#16#84(132)B#16#FC(252)=12 6#机有功/无功电度15 B#16#45(
6、69) B#16#18(24)程序段 13若 DB5.DBW4=9MOVEB#16#0 DB6.DBB4(读取数据个数高位 )B#16#6 DB6.DBB5(读取数据个数低位 )DB5.DBB1 DB6.DBB6 (CRC 循环校验码高位)DB5.DBB2 DB6.DBB7 CRC 循环校验码低高位)程序段 21 1#低压进线柜(地址 1)若 DB8.DBW0=259(地址号 1+功能号 03=0000000100000011=28+3=256+3=259)MOVEDB8.DBW63 DB5.DBW16 (1#进线柜 A 相电压)DB8.DBW65 DB5.DBW18 (1#进线柜 B 相电压
7、)DB8.DBW67 DB5.DBW20 (1#进线柜 C 相电压)DB8.DBW43 DB5.DBW22 (1#进线柜 A 相电流)DB8.DBW45 DB5.DBW24 (1#进线柜 B 相电流)DB8.DBW47 DB5.DBW26 (1#进线柜 C 相电流)DB8.DBW15 DB5.DBW28 (1#进线柜总有功功率 )DB8.DBW19 DB5.DBW30 (1#进线柜总无功功率 )DB8.DBW21 DB5.DBW32 (1#进线柜功率因数)DB8.DBW29 DB5.DBW34 (1#进线柜频率)DB8.DBD3 DB5.DBD36 (1#进线柜有功电度,单位 MWH)程序段
8、22 2#低压进线柜(地址 2)若 DB8.DBW0=515(地址号 1+功能号 03=0000001000000011=29+3=256*2+3=515)MOVEDB8.DBW63 DB5.DBW40 (2#进线柜 A 相电压)DB8.DBW65 DB5.DBW42 (2#进线柜 B 相电压)DB8.DBW67 DB5.DBW44 (2#进线柜 C 相电压)DB8.DBW43 DB5.DBW46 (2#进线柜 A 相电流)DB8.DBW45 DB5.DBW48 (2#进线柜 B 相电流)DB8.DBW47 DB5.DBW50 (2#进线柜 C 相电流)DB8.DBW15 DB5.DBW52
9、(2#进线柜总有功功率)DB8.DBW19 DB5.DBW54 (2#进线柜总无功功率 )DB8.DBW21 DB5.DBW56 (2#进线柜功率因数)DB8.DBW29 DB5.DBW58 (2#进线柜频率)DB8.DBD3 DB5.DBD60 (2#进线柜有功电度)程序段 23 2#机组(地址 3)若 DB8.DBW0=771(地址号 3+功能号 03=0000001100000011=29+28+3=256*3+3=771)MOVEDB8.DBW63 DB5.DBW64 (2#机组 A 相电压)DB8.DBW65 DB5.DBW66 (2#机组 B 相电压)DB8.DBW67 DB5.D
10、BW68 (2#机组 C 相电压)DB8.DBW43 DB5.DBW70 (2#机组 A 相电流)DB8.DBW45 DB5.DBW72 (2#机组 B 相电流)DB8.DBW47 DB5.DBW74 (2#机组 C 相电流)DB8.DBW15 DB5.DBW76 (2#机组总有功功率)DB8.DBW19 DB5.DBW78 (2#机组总无功功率)DB8.DBW21 DB5.DBW80 (2#机组功率因数)DB8.DBW29 DB5.DBW82 (2#机组频率)DB8.DBD3 DB5.DBD84 (2#机组有功电度)程序段 24 3#机组(地址 5)若 DB8.DBW0=1027(以此类推)
11、MOVEDB8.DBW63 DB5.DBW88 (3#机组 A 相电压)DB8.DBW65 DB5.DBW90 (3#机组 B 相电压)DB8.DBW67 DB5.DBW92 (3#机组 C 相电压)DB8.DBW43 DB5.DBW94 (3#机组 A 相电流)DB8.DBW45 DB5.DBW96 (3#机组 B 相电流)DB8.DBW47 DB5.DBW98 (3#机组 C 相电流)DB8.DBW15 DB5.DBW100 (3#机组总有功功率)DB8.DBW19 DB5.DBW102 (3#机组总无功功率)DB8.DBW21 DB5.DBW104 (3#机组功率因数)DB8.DBW29
12、 DB5.DBW106 (3#机组频率)DB8.DBD3 DB5.DBD108 (3#机组有功电度)程序段 25 4#机组(地址 6)若 DB8.DBW0=1283(以此类推)MOVE左地址同 DB5.DBW(112132) 程序段 26 5#机组(地址 4)若 DB8.DBW0=1539(以此类推)MOVE左地址同 DB5.DBW(136156) 程序段 27 变频器柜(地址 7)若 DB8.DBW0=1795(以此类推)MOVE左地址同 DB5.DBW(160180) 程序段 28 电容器柜(地址 8)若 DB8.DBW0=2051(以此类推)MOVE左地址同 DB5.DBW(184204
13、) 程序段 29 6#机组三相电压(地址 15 单位 A,100 )若 DB4.DBW4=10 且 DB8.DBW0=3843(地址号 3+功能号03=0000111100000011=211+210+29+28+3=256*15+3=3843)DB8.DBW3 I-DI #Uab DI-R#Uab _1DIV100 DB501.DBD62(”6#机组数据块”. Uab)DB8.DBW5 I-DI #Ubc D I-R#Ubc _1D IV100DB501.DBD66(”6# 机组数据块”. Ubc)DB8.DBW7 I-DI #Uca D I-R#Uca _1D IV100DB501.DBD
14、70(”6# 机组数据块”. Uca)程序段 30 6#机组三相电流(地址 15 单位 V,801000) CT 变比 400/5若 DB4.DBW4=11 且 DB8.DBW0=3843(以此类推)DB8.DBW3 I-DI #Ia D I-R#Ia_1DIV1000#Ia_2MUL80 DB501.DBD74(”6#机组数据块”. Ia)DB8.DBW5 I-DI #Ib DI-R#Ib_1 DIV1000#Ib_2 MUL80 DB501.DBD78(”6#机组数据块”. Ib)DB8.DBW7 I-DI #Ic DI-R#Ic_1 D IV1000#Ic_2MUL80DB501.DBD82(”6# 机组数据块”. Ic)程序段 31 6#机组有功/无功功率(地址 15,整型数,单位 KW 和 KVAR,8 1000)若 DB4.DBW4=12 且 DB8.DBW0=3843(以此类推)DB8.DBW3 I-DI #WD I-R#W_1MUL0.08DB501.DBD86(”6# 机组数据块”. W)DB8.DBW5 I-DI #QDI-R#Q_1 MUL0.08 DB501.DBD90(”6#机组数据块”.