安全注意事项
关于产品的应用
修订记录
前言
目录
关于手册
手册的阅读方法
本手册中使用的总称·略称
1 概要
1.1 关于ST语言
1.2 MELSEC-Q/L系列中的ST程序的特点
1.3 ST程序创建步骤
2 系统配置
2.1 系统配置
2.1.1 适用CPU
2.1.2 ST程序用编程工具
2.1.3 ST程序规格
3 ST程序的字符及数值的处理
3.1 可用字符
3.2 数据的处理
3.2.1 数据类型
3.2.2 关于ANY类型
3.2.3 数组及结构体
3.3 数据的表示方法
3.3.1 常数
3.3.2 标签
3.3.3 软元件
4 ST程序的表达式
4.1 代入语句
4.2 运算符
4.2.1 运算符列表
4.2.2 运算符的使用示例
4.3 控制语句
4.3.1 控制语句列表
4.3.2 条件语句
4.3.3 循环语句
4.3.4 其它控制语句
4.3.5 使用控制语句时的注意事项
4.4 功能块的调用
4.5 注释
5 MELSEC函数
5.1 输出
5.1.1 软元件的输出 OUT_M
5.1.2 低速型 TIMER_M
5.1.3 高速型 TIMER_H_M
5.1.4 计数器 COUNTER_M
5.1.5 软元件的设置 SET_M
5.1.6 软元件的复位 RST_M
5.1.7 直接输出的脉冲化 DELTA_M
5.2 移动
5.2.1 软元件的1位移动 SFT_M
5.3 结束
5.3.1 停止 STOP_M
5.4 比较运算
5.4.1 块数据比较(=) BKCMP_EQ_M
5.4.2 块数据比较(<>) BKCMP_NE_M
5.4.3 块数据比较(>) BKCMP_GT_M
5.4.4 块数据比较(<=) BKCMP_LE_M
5.4.5 块数据比较(<) BKCMP_LT_M
5.4.6 块数据比较(>=) BKCMP_GE_M
5.5 算术运算
5.5.1 BCD4位的加法(2软元件) BPLUS_M
5.5.2 BCD4位的加法(3软元件) BPLUS_3_M
5.5.3 BCD4位的减法(2软元件) BMINUS_M
5.5.4 BCD4位的减法(3软元件) BMINUS_3_M
5.5.5 BCD8位的加法(2软元件) DBPLUS_M
5.5.6 BCD8位的加法(3软元件) DBPLUS_3_M
5.5.7 BCD8位的减法(2软元件) DBMINUS_M
5.5.8 BCD8位的减法(3软元件) DBMINUS_3_M
5.5.9 BCD4位的乘法 BMULTI_M
5.5.10 BCD4位的除法 BDIVID_M
5.5.11 BCD8位的乘法 DBMULTI_M
5.5.12 BCD8位的除法 DBDIVID_M
5.5.13 字符串数据合并(2软元件) STRING_PLUS_M
5.5.14 字符串数据合并(3软元件) STRING_PLUS_3_M
5.5.15 BIN块加法 BKPLUS_M
5.5.16 BIN块减法 BKMINUS_M
5.5.17 递增 INC_M
5.5.18 递减 DEC_M
5.5.19 32位BIN递增 DINC_M
5.5.20 32位BIN递减 DDEC_M
5.6 数据转换
5.6.1 BIN→BCD转换 BCD_M
5.6.2 32位BIN→BCD转换 DBCD_M
5.6.3 BCD→BIN转换 BIN_M
5.6.4 32位BCD→BIN转换 DBIN_M
5.6.5 浮动小数点→BIN转换 INT_E_MD
5.6.6 32位浮动小数点→BIN转换 DINT_E_MD
5.6.7 BIN→浮动小数点转换 FLT_M
5.6.8 32位BIN→浮动小数点转换 DFLT_M
5.6.9 16位BIN→32位BIN转换 DBL_M
5.6.10 32位BIN→16位BIN转换 WORD_M
5.6.11 BIN→格雷码转换 GRY_M
5.6.12 32位BIN→格雷码转换 DGRY_M
5.6.13 格雷码→BIN转换 GBIN_M
5.6.14 32位格雷码→BIN转换 DGBIN_M
5.6.15 16位BIN的2的补数 NEG_M
5.6.16 32位BIN的2的补数 DNEG_M
5.6.17 浮动小数点的2的补数 ENEG_M
5.6.18 块转换BIN→BCD转换 BKBCD_M
5.6.19 块转换BCD→BIN转换 BKBIN_M
5.7 数据传送
5.7.1 16位数据否定传送 CML_M
5.7.2 32位数据否定传送 DCML_M
5.7.3 块传送 BMOV_M
5.7.4 同一数据块传送 FMOV_M
5.7.5 16位数据替换 XCH_M
5.7.6 32位数据替换 DXCH_M
5.7.7 块数据替换· BXCH_M
5.7.8 高低字节替换 SWAP_MD
5.8 程序执行控制
5.8.1 中断禁止 DI_M
5.8.2 中断允许 EI_M
5.9 I/O刷新
5.9.1 I/O刷新 RFS_M
5.10 逻辑运算指令
5.10.1 逻辑积(2软元件) WAND_M
5.10.2 逻辑积(3软元件) WAND_3_M
5.10.3 32位数据逻辑积(2软元件) DAND_M
5.10.4 32位数据逻辑积(3软元件) DAND_3_M
5.10.5 块数据逻辑积 BKAND_M
5.10.6 逻辑和(2软元件) WOR_M
5.10.7 逻辑和(3软元件) WOR_3_M
5.10.8 32位数据逻辑和(2软元件) DOR_M
5.10.9 32位数据逻辑和(3软元件) DOR_3_M
5.10.10 块数据逻辑和 BKOR_M
5.10.11 排他逻辑和(2软元件) WXOR_M
5.10.12 排他逻辑和(3软元件) WXOR_3_M
5.10.13 32位数据排他逻辑和(2软元件) DXOR_M
5.10.14 32位数据排他逻辑和(3软元件) DXOR_3_M
5.10.15 块数据排他逻辑和 BKXOR_M
5.10.16 否定排他逻辑和(2软元件) WXNR_M
5.10.17 否定排他逻辑和(3软元件) WXNR_3_M
5.10.18 32位数据否定排他逻辑和(2软元件) DXNR_M
5.10.19 32位数据否定排他逻辑和(3软元件) DXNR_3_M
5.10.20 块数据否定排他逻辑和 BKXNR_M
5.11 旋转
5.11.1 右旋转(不包含进位标志) ROR_M
5.11.2 右旋转(包含进位标志) RCR_M
5.11.3 左旋转(不包含进位标志) ROL_M
5.11.4 左旋转(包含进位标志) RCL_M
5.11.5 32位数据右旋转(不包含进位标志) DROR_M
5.11.6 32位数据右旋转(包含进位标志) DRCR_M
5.11.7 32位数据左旋转(不包含进位标志) DROL_M
5.11.8 32位数据左旋转(包含进位标志) DRCL_M
5.12 移动
5.12.1 n位右移 SFR_M
5.12.2 n位左移 SFL_M
5.12.3 n位数据1位右移 BSFR_M
5.12.4 n位数据1位左移 BSFL_M
5.12.5 1字右移 DSFR_M
5.12.6 1字左移 DSFL_M
5.13 位处理
5.13.1 字软元件的位设置 BSET_M
5.13.2 字软元件的位复位 BRST_M
5.13.3 字软元件的位测试 TEST_MD
5.13.4 32位数据的位测试 DTEST_MD
5.13.5 位软元件批量复位 BKRST_M
5.14 数据处理
5.14.1 数据查找 SER_M
5.14.2 32位数据查找 DSER_M
5.14.3 位校验 SUM_M
5.14.4 32位数据位校验 DSUM_M
5.14.5 编译 DECO_M
5.14.6 编码 ENCO_M
5.14.7 7段编译 SEG_M
5.14.8 16位数据的4位分离 DIS_M
5.14.9 16位数据的4位合并 UNI_M
5.14.10 任意数据的位分离 NDIS_M
5.14.11 任意数据的位合并 NUNI_M
5.14.12 字节单位数据分离 WTOB_MD
5.14.12 字节单位数据分离 WTOB_MD
5.14.13 字节单位数据合并 BTOW_MD
5.14.14 数据最大值查找 MAX_M
5.14.15 32位数据最大值查找 DMAX_M
5.14.16 数据最小值查找 MIN_M
5.14.17 32位数据最小值查找 DMIN_M
5.14.18 数据排序 SORT_M
5.14.19 32位数据排序 DSORT_M
5.14.20 合计值计算 WSUM_M
5.14.21 32位数据合计值计算 DWSUM_M
5.15 结构化
5.15.1 刷新 COM_M
5.16 缓冲存储器访问
5.16.1 智能功能模块1字数据读取 FROM_M
5.16.2 智能功能模块2字数据读取 DFRO_M
5.16.3 智能功能模块1字数据写入 TO_M
5.16.4 智能功能模块2字数据写入 DTO_M
5.17 字符串处理
5.17.1 BIN→10进制ASCII转换 BINDA_S_MD
5.17.2 32位BIN→10进制ASCII转换 DBINDA_S_MD
5.17.3 BIN→16进制ASCII转换 BINHA_S_MD
5.17.4 32位BIN→16进制ASCII转换 DBINHA_S_MD
5.17.5 BCD4位→10进制ASCII转换 BCDDA_S_MD
5.17.6 BCD8位→10进制ASCII转换 DBCDDA_S_MD
5.17.7 10进制ASCII→BIN转换 DABIN_S_MD
5.17.8 10进制ASCII→32位BIN转换 DDABIN_S_MD
5.17.9 16进制ASCII→BIN转换 HABIN_S_MD
5.17.10 16进制ASCII→32位BIN转换 DHABIN_S_MD
5.17.11 10进制ASCII→BCD4位转换 DABCD_S_MD
5.17.12 10进制ASCII→BCD8位转换 DDABCD_S_MD
5.17.13 软元件的注释数据读取 COMRD_S_MD
5.17.14 字符串的长度检测 LEN_S_MD
5.17.15 BIN→字符串转换 STR_S_MD
5.17.16 32位BIN→字符串转换 DSTR_S_MD
5.17.17 字符串→BIN转换 VAL_S_MD
5.17.18 字符串→32位BIN转换 DVAL_S_MD
5.17.19 浮动小数点→字符串转换 ESTR_M
5.17.20 字符串→浮动小数点转换 EVAL_M
5.17.21 BIN→ASCII转换 ASC_S_MD
5.17.22 ASCII→BIN转换 HEX_S_MD
5.17.23 从字符串右侧截取 RIGHT_M
5.17.24 从字符串左侧截取 LEFT_M
5.17.25 字符串中的任意截取 MIDR_M
5.17.26 字符串中的任意替换 MIDW_M
5.17.27 字符串查找 INSTR_M
5.17.28 浮动小数点→BCD分解 EMOD_M
5.17.29 BCD格式数据→浮动小数点 EREXP_M
5.18 特殊函数
5.18.1 浮动小数点SIN运算 SIN_E_MD
5.18.2 浮动小数点COS运算 COS_E_MD
5.18.3 浮动小数点TAN运算 TAN_E_MD
5.18.4 浮动小数点SIN-1运算 ASIN_E_MD
5.18.5 浮动小数点COS-1运算 ACOS_E_MD
5.18.6 浮动小数点TAN-1运算 ATAN_E_MD
5.18.7 浮动小数点角度→弧度 RAD_E_MD
5.18.8 浮动小数点弧度→角度转换 DEG_E_MD
5.18.9 浮动小数点平方根 SQR_E_MD
5.18.10 浮动小数点指数运算 EXP_E_MD
5.18.11 浮动小数点自然対数运算 LOG_E_MD
5.18.12 随机数发生 RND_M
5.18.13 系列变更 SRND_M
5.18.14 BCD4位平方根 BSQR_MD
5.18.15 BCD8位平方根 BDSQR_MD
5.18.16 BCD型SIN运算 BSIN_MD
5.18.17 BCD型COS运算 BCOS_MD
5.18.18 BCD型TAN运算 BTAN_MD
5.18.19 BCD型SIN-1运算 BASIN_MD
5.18.20 BCD型COS-1运算 BACOS_MD
5.18.21 BCD型TAN-1运算 BATAN_MD
5.19 数据控制
5.19.1 上下限极限控制 LIMIT_MD
5.19.2 32位数据上下限极限控制 DLIMIT_MD
5.19.3 死区控制 BAND_MD
5.19.4 32位数据死区控制 DBAND_MD
5.19.5 位域控制 ZONE_MD
5.19.6 32位数据位域控制 DZONE_MD
5.19.7 文件寄存器的块No.切换 RSET_MD
5.19.8 文件寄存器用文件的设置 QDRSET_M
5.19.9 注释用文件的设置 QCDSET_M
5.20 时钟
5.20.1 时钟数据的读取 DATERD_MD
5.20.2 时钟数据的写入 DATEWR_MD
5.20.3 时钟数据的加法 DATEPLUS_M
5.20.4 时钟数据的减法 DATEMINUS_M
5.20.5 时钟数据格式转换(时、分、秒→秒) SECOND_M
5.20.6 时钟数据格式转换(秒→时、分、秒) HOUR_M
5.21 程序控制
5.21.1 程序待机 PSTOP_M
5.21.2 程序输出OFF待机 POFF_M
5.21.3 程序扫描执行登录 PSCAN_M
5.21.4 程序低速执行登录 PLOW_M
5.22 其它
5.22.1 WDT复位 WDT_M
6 IEC函数
6.1 类型转换功能
6.1.1 布尔型(BOOL)→双精度整数型(DINT)转换 BOOL_TO_DINT(_E)
6.1.2 布尔型(BOOL)→整数型(INT)转换 BOOL_TO_INT(_E)
6.1.3 布尔型(BOOL)→字符串型(STRING)转换 BOOL_TO_STR(_E)
6.1.4 双精度整数型(DINT)→布尔型(BOOL)转换 DINT_TO_BOOL(_E)
6.1.5 双精度整数型(DINT)→整数型(INT)转换 DINT_TO_INT(_E)
6.1.6 双精度整数型(DINT)→实数型(REAL)转换 DINT_TO_REAL(_E)
6.1.7 双精度整数型(DINT)→字符串型(STRING)转换 DINT_TO_STR(_E)
6.1.8 整数型(INT)→布尔型(BOOL)转换 INT_TO_BOOL(_E)
6.1.9 整数型(INT)→双精度整数型(DINT)转换 INT_TO_DINT(_E)
6.1.10 整数型(INT)→实数型(REAL)转换 INT_TO_REAL(_E)
6.1.11 整数型(INT)→字符串型(STRING)转换 INT_TO_STR(_E)
6.1.12 实数型(REAL)→双精度整数型(DINT)转换 REAL_TO_DINT(_E)
6.1.13 实数型(REAL)→整数型(INT)转换 REAL_TO_INT(_E)
6.1.14 实数型(REAL)→字符串型(STRING)转换 REAL_TO_STR(_E)
6.1.15 字符串型(STRING)→布尔型(BOOL)转换 STR_TO_BOOL(_E)
6.1.16 字符串型(STRING)→双精度整数型(DINT)转换 STR_TO_DINT(_E)
6.1.17 字符串型(STRING)→整数型(INT)转换 STR_TO_INT(_E)
6.1.18 字符串型(STRING)→实数型(REAL)转换 STR_TO_REAL(_E)
6.2 数值功能(一般函数)
6.2.1 绝对值 ABS(_E)
6.2.2 平方根 SQRT(_E)
6.3 数值功能(对数函数)
6.3.1 自然对数 LN(_E)
6.3.2 自然指数 EXP(_E)
6.4 数值功能(三角函数)
6.4.1 浮动小数点SIN运算 SIN(_E)
6.4.2 浮动小数点COS运算 COS(_E)
6.4.3 浮动小数点TAN运算 TAN(_E)
6.4.4 浮动小数点SIN-1运算 ASIN(_E)
6.4.5 浮动小数点COS-1运算 ACOS(_E)
6.4.6 浮动小数点TAN-1运算 ATAN(_E)
6.5 算术运算功能
6.5.1 加法 ADD_E
6.5.2 乘法 MUL_E
6.5.3 减法 SUB_E
6.5.4 除法 DIV_E
6.5.5 剰余 MOD(_E)
6.5.6 指数 EXPT(_E)
6.5.7 代入 MOVE(_E)
6.6 位移功能
6.6.1 位左移 SHL(_E)
6.6.2 位右移 SHR(_E)
6.6.3 右旋转 ROR(_E)
6.6.4 左旋转 ROL(_E)
6.7 位型布尔功能
6.7.1 逻辑积 AND_E
6.7.2 逻辑和 OR_E
6.7.3 排他逻辑和 XOR_E
6.7.4 逻辑否定 NOT(_E)
6.8 选择功能
6.8.1 二进制的选择 SEL(_E)
6.8.2 最大值 MAX(_E)
6.8.3 最小值 MIN(_E)
6.8.4 限制器 LIMIT(_E)
6.8.5 多路调制器 MUX(_E)
6.9 比较功能
6.9.1 大于号(>) GT_E
6.9.2 大于等于号(>=) GE_E
6.9.3 等号(=) EQ_E
6.9.4 小于等于号(<=) LE_E
6.9.5 小于号(<) LT_E
6.9.6 不等号(<>) NE_E
6.10 字符串功能
6.10.1 字符串长度截取 LEN(_E)
6.10.2 从字符串的开始位置截取 LEFT(_E)
6.10.3 从字符串的终端截取 RIGHT(_E)
6.10.4 从字符串的指定位置截取 MID(_E)
6.10.5 字符串的连接 CONCAT(_E)
6.10.6 至指定位置的字符串插入 INSERT(_E)
6.10.7 从字符串的指定位置删除 DELETE(_E)
6.10.8 从字符串的指定位置替换 REPLACE(_E)
6.10.9 从字符串的指定位置查找 FIND(_E)
7 出错列表
附录
附录1 标签·FB名中不能使用的字符串
附录2 GX Developer与GX Works2中ST指令对应表
索引