网站首页 > 技术教程 正文
在STEP 7 (TIA Portal)里 , 对于S7-1200/S7-1500 可以使用 “指令” 库里的转换功能将变量转换为所选的数据类型。
描述
下表(图.1)给出了常用转换功能的概览。
@头条工控WJX
图. 1
INT,DINT,REAL 和 BCD 数据类型之间的转换
STEP 7 (TIA Portal) 提供了“CONV” (转换)指令可以用于 INT,DINT,REAL 和 BCD 数据类型之间的转换。可以在块编辑器中按下表的步骤进行插入和参数化操作。
1. 在块编辑器中,打开“指令” 库,再打开“基本指令 > 转换操作” 目录。使用拖拽方式将 “CONVERT” 指令插入到网络段中。
2. 插入指令块后,指令的数据类型还没有定义,在 "CONV" 下显示的是通配符 "??? to ???"。将鼠标指针放在左侧的三角形上时,会显示下拉箭头。
3. 点击左侧的箭头,从下拉菜单中可以给输入参数“IN” 选择想要的数据类型(例如,INT)。
4. 重复上面步骤可以为输出参数 “OUT” 从右侧的下拉菜单中选择想要转换的数据类型(例如,REAL)。这个例子就是将一个数据类型为 INT 的数据转换为数据类型为 REAL 的数据(“Int to Real”)。
注意
如果直接通过变量为指令指定输入输出参数,那么步骤 2 到步骤 4 不是必须的,因为转换指令自动将数据类型设置为变量的数据类型。
5。给转换指令的输入和输出分配所选择的变量。为输入输出指定参数后,就可以完成下面的数据转换,例如:
- 从 Int 到 Int, DInt, Real, Bcd16, USint, UInt, UDint, SInt, LReal 和 Char
- 从 DInt 到 Int, DInt, Real, Bcd32, USint, UInt, UDint, SInt, LReal 和 Char
- 从 Real 到 Int, DInt, Real, USint, UInt, UDint, SInt 和 LReal
- 从 USint 到 Int, DInt, Real, USint, UInt, UDint, SInt, LReal 和 Char
- 从 UInt 到 Int, DInt, Real, USint, UInt, UDint, SInt, LReal 和 Char
- 从 UDint 到 Int, DInt, Real, USint, UInt, UDint, SInt, LReal 和 Char
- 从 SInt 到 Int, DInt, Real, USint, UInt, UDint, SInt, LReal 和 Char
- 从 LReal 到 Int, DInt, Real, USint, UInt, UDint, SInt 和 LReal
- 从 Char 到 Int, DInt, USint, UInt, UDint, SInt 和 Char
- 从 BCD16 (16-bit) 到 Int,
- 从 BCD32 (32-bit) 到 DInt.
转换指令注释:
图. 2 展示了BCD 格式到 Real 和 Byte 到 SInt 的数据格式转换的例子。
- BCD格式的数据必须先转换为 Int 或 DInt 格式才能转换为 REAL 格式,如例子。
- 如要实现数据类型 Byte 到 SInt 或 从 Byte 到 USInt, CONVERT 指令需要手动设置 input 和 output 数据类型为 SInt 或 USInt。
更多的信息可以参见STEP7(TIA Portal)在线帮助 CONVERT: Convert value。
图. 2
实数取整
下面的指令可以将实数类型的数据取整为一个整数( INT 或 DINT ),这些指令也在上面描述的“Converters” 目录中。
- “CEIL ” :上取整。
- “FLOOR ”: 下取整。
- “ ROUND ”:舍入取整。
- “ TRUNC ”: 截尾取整。
字符串数据类型转换
下表包含转换字符串数据类型的说明。指令的编程过程如表中的描述 。
高级指令 | 描述 |
S_CONV | 字符串转换 |
STRG_VAL | 将字符串转换为数值 |
VAL_STRG | 将数值转换为字符串 |
Strg_TO_Char | 将字符串转换为字符 |
Char_TO_Strg | 将字符转换为字符串 |
ATH | 将 ASCII 字符串转换为十六进制数 |
HTA | 将十六进制数转换为ASCII 字符串 |
转换为 TIME 数据类型
使用高级指令“T_CONV ” 将 INT 类型的数据转换为一个时间值(TIME)和进行反向转换。在转换为 TIME 数据类型之前必须将所有数据类型(INT,REAL,BCD 等)转换为DINT。“T_CONV ” 指令在块编辑器的“扩展指令 > 日期和时间” 指令卡中。
图 3 给出了一个将 INT 和 REAL 转换为 TIME 格式的例子。
图. 3
硬件数据类型 HW_IO 的转换
硬件数据类型 HW_IO 是 STEP 7 (TIA Portal) 访问模板信息时用来识别硬件模板的。这个识别码是自动分配的,在创建设备时保存在设备的硬件配置中。模块名作为系统常量放在 "PLC variables" 表中。在相应功能块中通过模块名可以直接使用该模块。
另外,使用 "IO2MOD" 功能可以从模块的逻辑输入地址"InAddress" (E0.0) 确定模块的硬件标识符 "HWIO" 。直接在功能块的 "LADDR" 参数直接输入硬件标识符 "HWIO" 。"LADDR" 参数无需做转换,因为可以填写 "HW_IO" 参数,也可以填写 UINT 数据类型变量。
图. 4
在图4中是一个 SCL 的程序例子,调用指令 "IO2MOD"。如果功能块分配参数不正确,变量 "ChangeHWIO" 会显示报错代码。
- 上一篇: PLC常用数制及转换方法 plc数字运算
- 下一篇: 进制数相互转换 进制之间转化
猜你喜欢
- 2024-10-13 VB 十进制数据转换十六进制 vb10进制转16进制代码
- 2024-10-13 2、进位制之间的转换(含有小数位)
- 2024-10-13 【PythonTip题库精编300题】第35题:十六进制转换为二进制
- 2024-10-13 大牛都是这样转十六进制字符串的!全是细节呀
- 2024-10-13 【小白必备】学PLC必须要理解的进制转换你都懂了吗?
- 2024-10-13 进制数相互转换 进制之间转化
- 2024-10-13 8进制、10进制、16进制转换,用linux命令就搞定了!
- 2024-10-13 PLC常用数制及转换方法 plc数字运算
- 2024-10-13 MATLAB数据进制转换 matlab进制转换函数
- 2024-10-13 一款简单好用的多种进制计算软件 一款简单好用的多种进制计算软件推荐
你 发表评论:
欢迎- 01-09单因素方差分析+作图
- 01-09描述性统计分析 之 均值分析
- 01-0986:重复性和再现性分析GRR(2)-GRR均值极差分析法和方差分析法
- 01-09SPC如何做方差分析,意义又在哪里?
- 01-09MedSPSS小课堂——多因素方差分析
- 01-09MedSPSS小课堂——双因素方差分析
- 01-09SPSS单因素方差分析的操作步骤及结果解读,陈老师SPSS数据分析
- 01-0914单因素方差分析:One-Way ANOVA
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)