S7-200 SMART 通过 PROFINET 连接 V90 PN 实现 基本定位控制功能块介绍一步一步实战S7-200SMART与V90PN的定位控制
STEP7-Micro/WIN SMART V2.4利用提供的PN配置向导进行配置如图: 本文档下载地址:https://t.zsxq.com/VBUBAiQ
并定义以下变量:
Start_pulse | V1000.0 | Read_Write | V1000.1 | Parameter_No | VW1010 | Index_No | VW1012 | Write_REAL_value | VD1020 | Write_DINT_value | VD1024 | Device_No | VW1030 | Device_info | VB1040 | Read_REAL_value | VD1060 | Read_DINT_value | VD1064 | Format_value | VB1070 | ErrorNo | VW1080 | ErrorId | VD1090 | PN_Error_Code | VD1094 | Status | VB1100 | Status_bit | VB1102 |
SINA_PARA_S 功能块说明: 输入参数:
输入信号 | 类型 | 含义 | Start | BOOL | 启动任务(0 = 无任务;1 = 开始执行任务) | ReadWrite | BOOL | 0 = 读取,1 = 写入 | Parameter | INT | 参数编号 | Index | INT | 参数索引 | ValueWrite1 | REAL | REAL 格式的参数值 | ValueWrite1 | DINT | DINT 格式的参数值 | DeviceNo | WORD | 设备编号 | Device_Par ameter | DWORD | “Device_Parameter”起始地址的指针。“Device_Parameter”指 PROFINET 从站的参数,从下图中查看。 字节偏移: 0:轴编号,对于 V90 驱动器,选择 2。 1:保留 2-5:API编号 6-7:插槽编号 8-9:子插槽编号 |
输出信号 | 类型 | 含义 | ValueRead1 | REAL | 从驱动器读取的参数值(REAL 格式) | ValueRead2 | DINT | 从驱动器读取的参数值(DINT 格式) | Format | BYTE | 读取的参数的格式: |
|
| 02:整型 8 |
|
| 03:整型 16 |
|
| 04:整型 32 |
|
| 05:无符号 8 |
|
| 06:无符号 16 |
|
| 07:无符号 32 |
|
| 08:浮点 |
|
| 10:八进制字符串(16 位) |
|
| 13:时间差(32 位) |
|
| 41:字节 |
|
| 42:字 |
|
| 43:双字 |
|
| 44:错误 | ErrorNo | WORD | 根据 PROFIdrive 配置文件的错误编号 | ErrorID | DWOR D | 错误 ID。 第一个字:二进制编码,指示出现故障的参数 |
|
| 访问 |
|
| 第二个字:故障类型 | PN_Error_Code | DINT | 根据 PROFINET 协议的错误代码。有关详细 |
|
| 信息,请参见 PROFINET IO(版本 2.3)的 |
|
| 技术规范。 | Status | BYTE | 当前操作的状态: |
|
| Bit0-Bit4:错误代码,有关详细信息,请参见 |
|
| 指令 RDREC 和WRREC 的系统定义错误代 |
|
| 码。 |
|
| Bit5:=1,错误 |
|
| Bit6:正在进行请求 | Status_bit | BYTE | 状态表: |
|
| Bit0:就绪 |
|
| Bit1:繁忙 |
|
| Bit2:已完成 |
|
| Bit3:错误 |
分配程序库使用的V 地址区: 通过状态图表功能进行相关的功能测试: 1. 读取 p29070:内部速度限制 1(正向)示例 符号 |
| 赋值 | Start_pulse | V1000.0 | 1 | Read_Write | V1000.1 | 0 | Parameter_No | VW1010 | 29070 | Index_No | VW1012 | 1 | Write_REAL_value | VD1020 |
| Write_DINT_value | VD1024 |
| Device_No | VW1030 | 1 | Device_info | VB1040(AxisNumber) | 2 | VD1042(APINumber) | 14848 | VW1046(SlotNumber) | 1 | VW1048(SubSlotNumbe) | 3 | Read_REAL_value | VD1060 |
| Read_DINT_value | VD1064 |
| Format_value | VB1070 |
| ErrorNo | VW1080 |
| ErrorId | VD1090 |
| PN_Error_Code | VD1094 |
| Status | VB1100 |
| Status_bit | V1102.0 | Ready | V1102.1 | Busy | V1102.2 | Done | V1102.3 | Error |
将变量“Read_Write”设置为 0,读取驱动器参数。 在变量“Device_info”中输入设备参数信息。 在 VB16“Axisnumber”中输入轴编号。 在变量“Parameter_No”中输入参数编号。在变量“Index_No”中输入索引。 将变量“Start_pulse”设置为1 以开始任务。 如果参数数据类型为 REAL,则变量“Read_REAL_value”显示该值。 如果参数数据类型为 DINT,则变量“Read_DINT_value”显示该值。
2. 修改参数 p29070:内部速度限制 1(正向)示例: 符号 |
| 赋值 | Start_pulse | V1000.0 | 1 | Read_Write | V1000.1 | 1 | Parameter_No | VW1010 | 29070 | Index_No | VW1012 | 1 | Write_REAL_value | VD1020 | 6000.0 | Write_DINT_value | VD1024 |
| Device_No | VW1030 | 1 | Device_info | VB1040(AxisNumber) | 2 | VD1042(APINumber) | 14848 | VW1046(SlotNumber) | 1 | VW1048(SubSlotNumbe) | 3 | Read_REAL_value | VD1060 |
| Read_DINT_value | VD1064 |
| Format_value | VB1070 |
| ErrorNo | VW1080 |
| ErrorId | VD1090 |
| PN_Error_Code | VD1094 |
| Status | VB1100 |
| Status_bit | V1102.0 | Ready | V1102.1 | Busy | V1102.2 | Done | V1102.3 | Error |
过程: · 将变量“Read_Write”设置为 1,修改驱动器参数。 · 在变量“Device_info”中输入设备参数信息。 · 在 VB16“Axisnumber”中输入轴编号。 · 在变量“Parameter_No”中输入参数编号。在变量“Index_No”中输入索引。 · 修改变量“Write_REAL_value”或“Write_DINT_value”中的参数:如果在读取参数时,变量“Format_value”显示下列数据:16#02、16#05、16#41、16#42、16#03、16#06、16#0A或 16#08,则修改变量“Write_REAL_value”中的参数。
· 如果在步骤 2 中,变量“Format_value”显示下列数据:16#43、16#04、16#07 或 16#0D,则修改变量“Write_DINT_value”中的参数。 将变量“Start_pulse”设置为 1以开始任务。免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |