1200 modbuss RTU通信控制V20变频器
1200系列PLC虽然没有标配RS485接口,但是可以通过CM1241通信模块或CB1241通信信号板扩展一个RS485接口,与V20进行Modbus RTU通信。一起来学习一下程序的编写吧。本例中采用的硬件设备:西门子1215C DC/DC/DC型CPU扩展CB1241通信信号板西门子V20变频器硬件连接:
变频器参数设置:参数功能设置P0010调试参数= 30: 恢复出厂设置P0970工厂复位= 1: 所有参数复位至默认值= 21: 所有参数包括用户默认设置复位至工厂复位状态P0003用户访问级别= 3 专家级P0700选择命令源= 5: RS485 上的USS /MODBUSP1000选择频率源= 5:RS485上的USS/MODBUSP2010[0]USS / MODBUS 波特率= 6: 9600 bps = 7: 19200 bps = 8: 38400 bps= 12: 115200 bpsP2014[0]报文间断时间[ms]时间设为 0 时不发生故障(即看门狗被禁止)。P2021Modbus 地址1 至 247(工厂缺省值:1)P2022Modbus 应答超时[ms]0 至 10000(工厂缺省值:1000)P2023RS485 协议选择= 2: Modbus =1 USSP2034奇偶校验= 0: 无奇偶校验,= 1: 奇校验,= 2: 偶校验P2035停止位= 1: 1 个停止位,= 2: 2 个停止位CPU硬件组态设置:
双击CB1241打开属性设置:
如何查看CB1241的RS485接口的硬件标识符:
编写程序:1.Modbus_Comm_Load指令,组态通信端口。
参数和类型数据类型说明ENINBool一直接通REQINBool上升沿使能(常用M1.0'FirstScan')PORTINPort“硬件标识符”BAUDINUDInt波特率(与从站设备一致)PARITYINUInt奇偶校验:0 – 无,1 – 奇校验,2 – 偶校验RESP_TO 1INUInt响应超时单位msMB_DBINVariant对 Modbus_Master 或 Modbus_Slave 指令所使用的背景数据块的引用。DONEOUTBool完成标志ERROROUTBool错误标志STATUSOUTWord错误代码Modbus_Comm_Load 背景数据块静态变量变量数据类型默认值说明ICHAR_GAPWord0字符间最大字符延迟时间。该参数以毫秒为单位指定,用于增加接收字符间的预期时间。与此参数对应的位时间个数加到Modbus 默认值的 35 个位时间( 3.5 个字符时间)。设置4msRETRIESWord2在返回错误代码 0x80C8“无响应”之前主站进行的重复尝试次数。MODEUSInt0工作模式● 0 = 全双工 (RS232)● 1 = 全双工 (RS422) 四线制模式(点对点)● 2 = 全双工 (RS422) 四线制模式(多主站, CM PtP(ET200SP))● 3 = 全双工 (RS422) 四线制模式(多从站, CM PtP (ET200SP))● 4 = 半双工 (RS485) 双线模式STOP_BITSUSInt1停止位的数目:● 1 = 1 个停止位● 2 = 2 个停止位● 0, 3 到 255 = 保留Modbus_Master 主站读写指令
参数和类型数据类型说明REQINBool0 = 无请求,1 = 请求将数据传送到 Modbus 从站MB_ADDRINUIntModbus RTU从站地址:标准寻址范围(1 到 247)MODEINUSInt读写模式:0读,1写DATA_ADDRINUDInt从站中的起始地址如40100DATA_LENINUInt数据长度:指定此请求中要访问的位数或字数DATA_PTRIN_OUTVariant数据指针:如P#DB1.DBX0.0 WORD 2DONEOUTBool上一请求已完成且没有出错后, DONE 位将保持为 TRUE 一个扫描周期时间。BUSYOUTBool● 0 - 无 Modbus_Master 操作正在进行● 1 - Modbus_Master 操作正在进行完整程序如下:
注意:RS485接口工作于半双工模式,不能同时收发数据,更不能同时触发两条读或写指令,所以要编写轮循程序,将多条读写操作错开逐条触发。V20变频器的控制字40100意义:位信号名称1 信号00ON / OFF1是01OFF2:电气停车否02OFF3:快速停车否03Enable Pulses是04RFG(斜坡函数发生器)使能是05RFG(斜坡函数发生器)启动是06设定值使能是07故障确认是08正向点动是09反向点动是10由 PLC 控制是11反向(设定值反相)是12保留13电动电位计 MOP 升速是14电动电位计 MOP 降速是15CDS 位 0(手动/自动)是通过上述表格得出:正转:应先写16#47E,再写16#47F。反转:应先写16#C7E,再写16#C7F。频率设定地址40101意义是16#4000(16384)代表P2000 基准频率的100%。反馈运行频率40111的意义也是和40101一样,要得到实际的频率,应进行换算。实际频率=40111/16384*P2000 读取的状态字40110意义:位信号名称1 信号00变频器就绪是01变频器准备就绪是02变频器正在运行是03变频器故障激活是04OFF2 激活否05OFF3 激活否06ON 禁止激活是07变频器报警激活是08设定值/实际值偏差否09PZD 控制是10|f_act| >= P1082(f_max)是11报警:电机电流/转矩极限值否12抱闸打开是13电机过载否14电机正转是15变频器过载否根据状态字就能知道当前变频器的状态,如第2位为TRUE表示正转运行,第3位为TRUE表示变频器故障,第14位为TRUE表示正转,为FALSE表示反转等。如何成为优秀的电气工程师?扫码请咨询▼左老师:18073180632(同微信)