热门搜索:
西门子2MB内存卡
1 S7-200与CU230P-2 HVCA装置的连接
1.1本例程的系统配置
2.1设置通讯接口
2.2建立PC和PLC的连接
“双击刷新”找到PLC后,点击“确认”。
2.3用电缆将CU230P-2 HVCA Modbus 通讯接口与PLC连接起来(注:接线规则2对3;3对8;前面的数字是CU230P-2 HVCA的通讯端子号,后面的是PLC通讯端口的针号)。
2.4变频器参数设置
注:P2040=1000时,请在程序中确保变频器在这个时间内收到下一个控制字和主给定值。
2.5 CU230P-2 HVCA 寄存器说明
寄存器40100:控制字
2.6初始化Modbus Master 端口
说明:
2.7调用 Modbus RTU 主站读写功能块MBUS_MSG,发送一个Modbus 请求;
说明:
主设定值功能块:
状态字和实际运行频率功能块:
2.8在编译程序之前,选择 “程序块” ->“ 库” 右键: 选择“库存储区”. 在点击 “建议地址” 选择V存储区的地址后点击 “OK”退出。
一、 S7-200与6RA70装置连接
1. 系统要求
> 安装MicroWin software(V3.2以上)以及 USS协议库(V2.0以上)
2. 在使用MicroWin software 创建项目之前,先检查USS protocol协议是否被正确安装,此协议库需要单独购买:
3.我们需要创建一个简单的例程:
> 第一步:设置通讯接口
> 第二步:建立PC与S2-200之间连接(注意:PC通过PC/PPI电缆与S7-200PORT1口连接;)
> 第三步:用串口电缆将S7-200PORT0端口与6RA70的PMU上X300、CUD1端子X172或CUD2端子X162相连 (注意:端口连接的规则,X300是3对3、8对8;CUD1端子X172是3对X172:58,8对X172:59;CUD2端子X162是3对X162:63,8对X162:64)
> 第四步:使用USS协议的初始化模块初始化S7-200的PORT0端口
表一:
> 第五步:使用USS_CTRL模块来控制USS地址11的6RA70装置,为了运行6RA70需要按照表一设置参数
> 第六步:在编译程序之前,选择 Program Block -> Library then right mouse click: select Library Memeory. 在点击Suggested Address选择V存储区的地址后点击 “OK”退出,如下图所示:
> 第七步:编译程序并下载到S7-200,将RUN位置1,并在状态表中输入速度给定,在闭合CUD1端子X172:37和X172:38之后,6RA70直流装置就可以运行起来了,如下图状态表所示:(注意:由于MM440和6RA70的工作方式和控制字的定义并不完全相同,所以你需要将OFF2、OFF3、F_ACK命令位连接到6SE70相应的参数,它们才能起作用;此外,由于控制字的定义不相同,DIR方向控制位并不能起到方向控制的作用;详细情况请参看USS_CTRL的帮助文件及6RA70控制字的定义,在本例中将RUN信号连接到6RA70脉冲使能控制参数P661,而将速度给定连接到主给定参数P644)
4. 读写O2类型参数:如读写参数P078,使用USS_RPM_W和USS_WPM_W(这两个功能块用来读写16位无符号整数)
> 读参数P078,其数据类型为O2,表示16位无符号整数;其程序块如下图所示:
在运行此程序块的情况下,只要给S7-200的I0.3置一个上升沿,就可以完成一次对参数P078的读操作,读入的值被保存到R_P078。需要特别注意的是USS_RPM_W的INDEX值必须置1,因为MM440默认的是PXXXX.0参数组,而6RA70默认的是PXXX.1参数组
> 写参数P078,其程序块如下图所示:
在运行此程序块的情况下,只要给S7-200的I0.4置一个上升沿,就可以完成一次对参数P078的写操作,将W_P078中保存的值写入到参数P078。USS_WPM_W的EEPROM是逻辑“0”时,写入的值只被保存到6RA70的RAM中,当EEPROM是逻辑“1”时,写入的值同时被保存到6RA70的RAM和EEPROM中,但向EEPROM中写数据是有次数限制,较多不要**过50000次
> 读写参数P078的操作请参照如下的状态表所示:
5. 读写I2类型参数:如读写参数P320,使用USS_RPM_W和USS_WPM_W(这两个功能块用来读写16位无符号整数)
> 读参数P320,其数据类型为I2,表示16位有符号整数;其程序块如下图所示:
在运行此程序块的情况下,只要给S7-200的I1.1置一个上升沿,就可以完成一次对参数P320的读操作,读入的值被保存到R_P320。
> 写参数P320,其程序块如下图所示:
在运行此程序块的情况下,只要给S7-200的I1.2置一个上升沿,就可以完成一次对参数P320的写操作,将W_P320中保存的值写入到参数P320。
1) 安装Micro/Win software以及 Modbus协议库, 西门子在 Micro/WIN V4.0 SP5 中正式推出Modbus RTU 主站协议库。
2) PC/PPI电缆或CP5512、S7-200(如CPU 224XP)、电源模块、通信电缆
3) CU230P-2 HVCA 、PM240以及PC机
1.2在创建项目前,确认Modbus Master库文件已经安装
图 1
2 创建一个例程
选择适合自己的通讯接口,本例程使用CP5512(PPI)。
图 2
图 3
图 4
寄存器40101:主设定值
寄存器40110:状态字
寄存器40111:实际运行频率
更多CU230P-2 HVCA的寄存器信息,请访问下面的资料连接。36175032
图 5
EN 使能: 必须保证每一扫描周期都被使能(使用 SM0.0)
Mode 模式: 为 1 时,使能 Modbus 协议功能;为 0 时恢复为系统 PPI 协议
Baud 波特率: 支持的通讯波特率为4800,9600,19200西门子2MB内存卡
Parity 校验: 校验方式选择 (CU230P-2 HVCA采用偶校验)
0=无校验
1=奇较验
2=偶较验
Timeout **时: 主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000 毫秒(1 秒),允许设置的范围为 1 - 32767。
注意: 这个值必须设置足够大以保证从站有时间响应。
Done 完成位: 初始化完成,此位会自动置1。
Error 初始化错误代码
控制字功能块:
图 6 控制字
EN 使能: 同一时刻只能有一个读写功能(即 MBUS_MSG)使能
注意:CU230P-2 HVCA对于写指令同一时刻只运行对一个保持寄存器操作;读指令同一时刻较大允许操作125 个保持寄存器。
First 读写请求位: 每一个新的读写请求必须使用脉冲触发
Slave 从站地址: 可选择的范围 1 - 247
RW 请求方式: 0 = 读, 1 = 写
Count 数据个数 通讯的数据个数(位或字的个数)
注意: Modbus主站可读/写的较大数据量为120个字(是指每一个 MBUS_MSG 指令)
DataPtr 数据指针: 1. 如果是读指令,读回的数据放到这个数据区中
2. 如果是写指令,要写出的数据放到这个数据区中
Done 完成位:读写功能完成位
Error 错误代码: 只有在 Done 位为1时,错误代码才有效
图 7 主设定值
图 8 状态字和实际频率
图 9 库存储区
> PC/PPI电缆、S7-200(如CPU 226XM)、电源模块、通信电缆
> 6RA70驱动装置及一台PC机
二进制值2#1000 0000 0000表示要初始化USS地址11的6RA70驱动装置,波特率为9600,此波特率值要与PC/PPI电缆的设置相同,详细情况请参看USS_INIT的帮助文件;此外我们还需要在6RA70装置上设置相应的参数。
参数
USS1(PMU:X300)
USS2(CUD1:X172)
USS3(CUD2:X162)
P780=2
P790=2
P800=2
P787=0
P797=0
P807=0
P786=11
P796=11
P806=11
P783=6
P793=6
P803=6
P781=2
P791=2
P801=2
P782=127
P792=127
P802=127
P927
P927=6
P927=42
P927=82
P785.1=1
P795.1=1
P805.1=1
P785.2=0
P795.2=0
P805.2=0
P644=2002
P644=6002
P644=9002
P661=2100
P661=6100
P661=9100
西门子2MB内存卡