MELSEC-Q/L 構造化プログラミングマニュアル (応用関数編)

安全上のご注意
( ご使用前に必ずお読みください )
MELSEC-Q/L シリーズシーケンサのご使用に際しては,各製品に付属しているマニュアルおよび付属マ
ニュアルで紹介している関連マニュアルをよくお読みいただくと共に,安全に対して十分に注意を払って,
正しい取扱いをしていただくようお願いいたします。
製品に付属しているマニュアルは必要なときに読めるよう大切に保管すると共に,必ず最終ユーザまで
お届けいただくようお願いいたします。
A-1
製品の適用について
(1) 当社シーケンサをご使用いただくにあたりましては,万一シーケンサに故障・不具合などが発生
した場合でも重大な事故にいたらない用途であること,および故障・不具合発生時にはバック
アップやフェールセーフ機能が機器外部でシステム的に実施されていることをご使用の条件とさ
せていただきます。
(2) 当社シーケンサは,一般工業などへの用途を対象とした汎用品として設計・製作されています。
したがいまして,以下のような機器・システムなどの特殊用途へのご使用については,当社シー
ケンサの適用を除外させていただきます。万一使用された場合は当社として当社シーケンサの品
質,性能,安全に関る一切の責任(債務不履行責任,瑕疵担保責任,品質保証責任,不法行為責
任,製造物責任を含むがそれらに限定されない)を負わないものとさせていただきます。
・ 各電力会社殿の原子力発電所およびその他発電所向けなどの公共への影響が大きい用途
・ 鉄道各社殿および官公庁殿など,特別な品質保証体制の構築を当社にご要求になる用途
・ 航空宇宙,医療,鉄道,燃焼・燃料装置,乗用移動体,有人搬送装置,娯楽機械,安全機械な
ど生命,身体,財産に大きな影響が予測される用途
ただし,上記の用途であっても,具体的に使途を限定すること,特別な品質(一般仕様を超えた
品質等)をご要求されないこと等を条件に,当社の判断にて当社シーケンサの適用可とする場合
もございますので,詳細につきましては当社窓口へご相談ください。
A-2
改 訂 履 歴
※ 取扱説明書番号は,本説明書の裏表紙の左下に記載してあります。
印刷日付
※ 取扱説明書番号
改 訂 内 容
2008 年 4 月
SH( 名 )-080737-A 初版印刷
2008 年 7 月
SH( 名 )-080737-B 一部修正
3.7.1 項
2008 年 11 月 SH( 名 )-080737-C 機種追加
Q00UJCPU,Q00UCPU,Q01UCPU,Q10UDHCPU,Q10UDEHCPU,Q20UDHCPU,
Q20UDEHCPU
一部追加
2.1.5 項,5.5.2 項,5.5.3 項
一部修正
本マニュアルで使用する総称・略称
2009 年 4 月
SH( 名 )-080737-D 機種追加
Q00JCPU,Q00CPU,Q01CPU
一部追加
2.2 節,3.1 節
一部修正
1.2 節,2.1 節,2.1.1 項∼ 2.1.12 項→ 2.2.1 項∼ 2.2.12 項へ変更,3.1 節→ 3.2 節へ変更,
4 章,5 章
一部削除
3.2 節∼ 3.7 節,付録 1,付録 2
2009 年 12 月 SH( 名 )-080737-E
機種追加
L02CPU,L26CPU-BT
一部追加
製品の適用について
一部修正
マニュアルについて,1.1 節,1.2 節,3.1 節,4 章
2010 年 1 月
SH( 名 )-080737-F
機種追加
Q50UDEHCPU,Q100UDEHCPU
一部修正
1.1 節,1.2 節
2010 年 6 月
SH( 名 )-080737-G 一部追加
5.1.39 項,5.1.40 項,5.1.41 項,5.1.42 項,5.1.43 項,5.1.44 項,5.1.45 項
一部修正
2.2.1 項
2010 年 7 月
SH( 名 )-080737-H 一部修正
5.1.30 項,5.1.31 項,5.1.33 項,5.6.1 項
2010 年 11 月
SH( 名 )-080737-I
一部修正
2.2 節,5.1.13 項,5.1.19 項,5.1.25 項,5.1.29 項,5.1.30 項,5.1.31 項,5.1.32 項,
5.1.33 項,5.1.34 項,5.1.36 項,5.1.37 項,5.3.6 項,5.5.1 項,5.5.2 項,5.5.3 項,5.5.4 項,
5.6.1 項,5.7.1 項,5.11.1 項,5.11.2 項,5.11.3 項,5.11.4 項,5.12.1 項,5.12.2 項,
5.12.3 項,5.12.4 項,
A-3
印刷日付
* 取扱説明書番号
2011 年 1 月
SH( 名 )-080737-J
改 訂 内 容
一部追加
2.3 節,6 章
一部修正
1.1 節,2.1 節,2.2.3 項,2.2.4 項,2.2.6 項,5.1.8 項,5.1.10 項,5.1.13 項,5.1.31 項,
5.1.32 項,5.1.34 項,5.1.38 項,5.2.1 項,5.3.1 項,5.3.2 項,5.3.3 項,5.3.4 項,5.3.6 項,
5.3.7 項,5.4.1 項,5.5.1 項,5.6.1 項,5.8.1 項,5.8.2 項,5.8.3 項,5.8.4 項,5.9.1 項,
5.9.2 項,5.10.1 項,5.10.2 項,5.11.1 項,5.11.2 項,5.11.3 項,5.11.4 項,5.12.1 項,
5.12.2 項,5.12.3 項,5.12.4 項
2011 年 5 月
SH( 名 )-080737-K
機種追加
L02CPU-P,L26CPU-PBT
一部修正
1.2 節,2.2.1 項,5.1.14 項,5.1.16 項,5.1.17 項,5.1.18 項,5.1.19 項,5.1.45 項,5.2.1 項,
5.3.1 項,5.3.2 項,5.3.4 項,5.3.6 項,5.3.7 項,5.5.1 項,5.5.2 項,5.5.3 項,5.5.4 項,
5.6.1 項,5.8.3 項,5.8.4 項,5.11.14 項
2012 年 5 月
SH( 名 )-080737-L
一部修正
はじめに,マニュアルについて,1.1 節,1.2 節
2012 年 11 月 SH( 名 )-080737-M プロセス CPU,二重化 CPU,ユニバーサルモデル QCPU,LCPU の機種追加に伴う全面見
直し
機種追加
Q02PHCPU,Q06PHCPU,Q12PHCPU,Q25PHCPU,Q12PRHCPU,Q25PRHCPU,
Q03UDVCPU,Q04UDVCPU,Q06UDVCPU,Q13UDVCPU,Q26UDVCPU,L02SCPU,
L26CPU
2013 年 1 月
SH( 名 )-080737-N 機種追加
L06CPU
一部修正
1.2 節
2013 年 4 月
SH( 名 )-080737-O 機種追加
Q04UDPVCPU,Q06UDPVCPU,Q13UDPVCPU,Q26UDPVCPU,L02SCPU-P,
L06CPU-P,L26CPU-P
一部修正
1.2 節
本書によって,工業所有権その他の権利の実施に対する保証,または実施権を許諾するものではありません。また
本書の掲載内容の使用により起因する工業所有権上の諸問題については,当社は一切その責任を負うことができません。
 2008 MITSUBISHI ELECTRIC CORPORATION
A-4
はじめに
このたびは,三菱シーケンサ MELSEC-Q/L シリーズをお買い上げいただきまことにありがとうございました。
ご使用前に本マニュアルおよび関連マニュアルをよくお読みいただき,プログラミングの仕様を十分ご理解のう
え,正しくご使用くださるようお願い致します。
本マニュアルで紹介するプログラム例を実際のシステムへ流用する場合は,対象システムにおける制御に問題が
ないことを十分検証ください。
目 次
安全上のご注意 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ A - 1
製品の適用について ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ A - 2
改 訂 履 歴 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ A - 3
はじめに ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ A - 5
目 次 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ A - 5
マニュアルについて ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ A - 9
1 章 概 要
1-1∼1-6
1.1
本マニュアルの位置付け
1-2
1.2
本マニュアルで使用する総称・略称
1-5
2 章 関数一覧
2-1∼2-8
2.1
関数一覧表の見方
2-2
2.2
関数一覧
2-3
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.2.8
2.2.9
2.2.10
2.2.11
2.2.12
2.3
型変換関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
単数値変数関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
算術演算関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
ビット型ブール関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
選択関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
比較関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
文字列関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
時刻データ型関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
二安定ファンクションブロック ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
エッジ検出ファンクションブロック ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
カウンタファンクションブロック ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
タイマファンクションブロック ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
オペレータ一覧
2.3.1
2.3.2
2.3.3
2
2
2
2
2
2
2
2
2
2
2
2
-
3
5
5
5
5
6
6
6
6
7
7
7
2-8
算術演算 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 2 - 8
ビット型ブール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 2 - 8
比較 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 2 - 8
3 章 関数の構成
3-1∼3-4
3.1
関数の構成
3-2
3.2
入力ピン数可変関数
3-3
4 章 関数の見方
4-1∼4-4
A-5
5 章 応用関数
5.1
型変換関数
5.1.1
5.1.2
5.1.3
5 - 1 ∼ 5 - 234
5-2
ビット型→ワード[符号付き]型,ダブルワード[符号付き]型変換 ・・・・・・・・・・・・・・・・5 - 2
ビット型→文字列型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・5 - 5
ビット型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/
ビット列[32 ビット]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・5 - 7
5.1.4 ビット型→時間型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 10
5.1.5 ワード[符号付き]型→ダブルワード[符号付き]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 12
5.1.6 ダブルワード[符号付き]型→ワード[符号付き]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 14
5.1.7 ワード[符号付き]型,ダブルワード[符号付き]型→ビット型変換 ・・・・・・・・・・・・・・ 5 - 16
5.1.8 ワード[符号付き]型,ダブルワード[符号付き]型→単精度実数型変換 ・・・・・・・・・・ 5 - 19
5.1.9 ワード[符号付き]型,ダブルワード[符号付き]型→倍精度実数型変換 ・・・・・・・・・・・・・ 5 - 22
5.1.10 ワード[符号付き]型,ダブルワード[符号付き]型→文字列型変換 ・・・・・・・・・・・・・・ 5 - 25
5.1.11 ワード[符号付き]型,ダブルワード[符号付き]型→ワード[符号なし]/
ビット列[16 ビット]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 29
5.1.12 ワード[符号付き]型,ダブルワード[符号付き]型→ダブルワード[符号なし]/
ビット列[32 ビット]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 32
5.1.13 ワード[符号付き]型,ダブルワード[符号付き]型→ BCD 型変換・・・・・・・・・・・・・・・ 5 - 35
5.1.14 ワード[符号付き]型,ダブルワード[符号付き]型→時間型変換 ・・・・・・・・・・・・・・・・ 5 - 38
5.1.15 単精度実数型→ワード[符号付き]型,ダブルワード[符号付き]型変換 ・・・・・・・・・・ 5 - 41
5.1.16 倍精度実数型→ワード[符号付き]型,ダブルワード[符号付き]型変換 ・・・・・・・・・・ 5 - 44
5.1.17 単精度実数型→倍精度実数型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 47
5.1.18 倍精度実数型→単精度実数型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 49
5.1.19 単精度実数型→文字列型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 51
5.1.20 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/
ビット列[32 ビット]型→ビット型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 55
5.1.21 ワード[符号なし]/ ビット列[16 ビット]型→ワード
[符号付き]型,ダブルワード[符号付き]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 58
5.1.22 ダブルワード[符号なし]/ ビット列[32 ビット]型→ワード[符号付き]型,
ダブルワード[符号付き]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 61
5.1.23 ワード[符号なし]/ ビット列[16 ビット]型→ダブルワード[符号なし]/
ビット列[32 ビット]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 64
5.1.24 ダブルワード[符号なし]/ ビット列[32 ビット]型→ワード[符号なし]/
ビット列[16 ビット]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 66
5.1.25 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/
ビット列[32 ビット]型→文字列型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 69
5.1.26 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/
ビット列[32 ビット]型→時間型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 72
5.1.27 文字列型→ビット型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 75
5.1.28 文字列型→ワード[符号付き]型,ダブルワード[符号付き]型変換 ・・・・・・・・・・・・・・ 5 - 77
5.1.29 文字列型→単精度実数型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 80
5.1.30 文字列型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/
ビット列[32 ビット]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 84
5.1.31 文字列型→時間型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 88
5.1.32 文字列型→ BCD 型変換・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 91
5.1.33 BCD 型→ワード[符号付き]型,ダブルワード[符号付き]型変換 ・・・・・・・・・・・・・・・ 5 - 96
5.1.34 BCD 型→文字列型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 100
5.1.35 時間型→ビット型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 103
5.1.36 時間型→ワード[符号付き]型,ダブルワード[符号付き]型変換 ・・・・・・・・・・・・・・・ 5 - 105
5.1.37 時間型→文字列型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 108
A-6
5.1.38 時間型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/
ビット列[32 ビット]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 5.1.39 ビット配列→ワード[符号付き]型/ワード[符号なし]/
ビット列[16 ビット]型,ダブルワード[符号付き]型/ダブルワード[符号なし]/
ビット列[32 ビット]型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 5.1.40 ワード[符号付き]型/ワード[符号なし]/ ビット列[16 ビット]型,
ダブルワード[符号付き]型/ダブルワード[符号なし]/
ビット列[32 ビット]型→ビット配列変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 5.1.41 ビット配列のコピー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 5.1.42 ワード[符号付き]型データの指定ビット読出し ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 5.1.43 ワード[符号付き]型データの指定ビット書込み ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 5.1.44 ワード[符号付き]型データの指定ビットコピー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 5.1.45 型変換の不要化 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 5.2
単数値変数関数
5.2.1
5.3
5.4
5.5
5.6
5.9
5 - 157
選択値 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
最大値,最小値選択 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
上下限リミット制御 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
マルチプレクサ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
-
157
160
163
166
5 - 169
比較 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 169
5 - 172
文字列の抽出
文字列の結合
文字列の挿入
文字列の削除
文字列の置換
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
加算
減算
乗算
除算
-
172
175
177
180
183
5 - 186
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
二安定ファンクションブロック
5.9.1
5.9.2
131
134
137
140
143
146
149
論理積,論理和,排他的論理和,論理否定 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 152
時刻データ型関数
5.8.1
5.8.2
5.8.3
5.8.4
-
5 - 152
文字列関数
5.7.1
5.7.2
5.7.3
5.7.4
5.7.5
5.8
加算 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
乗算 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
減算 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
除算 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
剰余 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
べき乗 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
代入 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
比較関数
5.6.1
5.7
5 - 131
選択関数
5.5.1
5.5.2
5.5.3
5.5.4
115
117
119
121
123
125
絶対値 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 127
ビット型ブール関数
5.4.1
113
5 - 127
算術演算関数
5.3.1
5.3.2
5.3.3
5.3.4
5.3.5
5.3.6
5.3.7
110
-
186
189
192
195
5 - 197
二安定ファンクションブロック(セット優先)・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 197
二安定ファンクションブロック(リセット優先)・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 200
5.10 エッジ検出ファンクションブロック
5 - 203
5.10.1 立ち上りエッジ検出 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 203
5.10.2 立ち下りエッジ検出 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 - 206
A-7
5.11 カウンタファンクションブロック
5.11.1
5.11.2
5.11.3
5.11.4
アップカウンタ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
ダウンカウンタ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
アップダウンカウンタ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
カウンタファンクションブロック ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
5.12 タイマファンクションブロック
5.12.1
5.12.2
5.12.3
5.12.4
算術演算
6.1.1
6.1.2
6.1.3
6.1.4
6.1.5
6.1.6
6.2
6.3
220
223
226
229
6 - 1 ∼ 6 - 18
6-2
6 - 13
6 - 16
比較 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 6 - 16
索 引
A-8
-
論理積,論理和,排他的論理和,論理否定 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 6 - 13
比較演算
6.3.1
208
211
214
218
加算 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・6 - 2
乗算 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・6 - 4
減算 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・6 - 6
除算 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・6 - 8
剰余 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 6 - 10
べき乗 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 6 - 11
ビット型ブール
6.2.1
-
5 - 220
パルスタイマ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
オンディレータイマ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
オフディレータイマ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
タイマファンクションブロック ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
6 章 オペレータ
6.1
5 - 208
索引 - 1 ∼ 索引 - 4
マニュアルについて
関連マニュアル
本製品に関連するマニュアルには,下記のものがあります。
各マニュアルは,必要に応じて本表を参考にご依頼ください。
(1) 構造化プログラミング
マニュアル名称
MELSEC-Q/L/F 構造化プログラミングマニュアル(基礎編)
構造化プログラムの作成に必要なプログラミング方法,プログラミング言語の種類などについて説明しています。
(別売)
マニュアル番号
( 形名コード )
SH-080735
(13JC17)
標準価格
¥ 3,000
MELSEC-Q/L 構造化プログラミングマニュアル(共通命令編)
構造化プログラムで使用できる,シーケンス命令,基本命令,応用命令などの共通命令に関する仕様,機能につ
いて説明しています。
(別売)
SH-080736
(13JC18)
¥ 4,000
MELSEC-Q/L 構造化プログラミングマニュアル(特殊命令編)
構造化プログラムで使用できる,ユニット専用命令,PID 制御命令,内蔵 I/O 機能用命令などの特殊命令に関す
る仕様,機能について説明しています。
(別売)
SH-080738
(13JC20)
¥ 3,000
(2) GX Works2 の操作
マニュアル名称
マニュアル番号
( 形名コード )
標準価格
GX Works2 Version 1 オペレーティングマニュアル (共通編)
GX Works2 のシステム構成,パラメータ設定,オンライン機能の操作方法など,シンプルプロジェクトと構造
化プロジェクトに共通な機能を記載しています。
(別売)
GX Works2 Version 1 オペレーティングマニュアル (構造化プロジェクト編)
GX Works2 の構造化プロジェクトでのプログラム作成,モニタなどの操作方法について記載しています。
(別売)
SH-080730
(13JV90)
SH-080732
(13JV92)
¥ 4,000
¥ 3,000
はじめよう GX Works2 (構造化プロジェクト編)
はじめて GX Works2 を使用する方のために,構造化プロジェクトでのプログラム作成から編集,モニタなどの
基本的な操作方法について説明しています。
(別売)
SH-080734
(13JY65)
¥ 1,500
オペレーティングマニュアルは,ソフトウェアパッケージの CD-ROM に PDF
ファイルで格納されています。単品でマニュアルを希望される場合は,印刷物
を別売で用意していますので上記表のマニュアル番号(形名コード)にてご用
命願います。
A-9
メ モ
A-10
1
概 要
1
概 要
関数一覧
2
本マニュアルの位置付け. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
1.2
本マニュアルで使用する総称・略称 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
4
関数の見方
1.1
関数の構成
3
応用関数
5
オペレータ
6
索 引
索
1-1
1.1 本マニュアルの位置付け
本マニュアルでは,構造化プログラムの作成で使用する応用関数について説明しています。
目的に応じた参照先マニュアルを下記に示します。
各マニュアルの記載内容,マニュアル番号などについては「関連マニュアル」一覧を参照して
ください。
(1) GX Works2 の操作
GX Works2
目的
インストール
手順書
GX Works2 Version 1
はじめよう GX Works2
シンプル
構造化
プロジェクト プロジェクト
編
オペレーティングマニュアル
シンプル
共通編
編
構造化
プロジェクト プロジェクト
編
編
詳細
詳細
インテリジェ
ント機能ユ
ニット操作編
動作環境,イン
ストール方法を
インストール
詳細
知りたい
USB ドライバの
インストール方
詳細
法を知りたい
GX Works2 の
すべての機能が
概要
知りたい
GX Works2 の
プロジェクト種
別と使用できる
概要
言語が知りたい
はじめてシンプ
ルプロジェクト
を使用するとき
詳細
の基本の操作と
手順を知りたい
はじめて構造化
GX Works2
の各種操作
プロジェクトを
使用するときの
詳細
基本の操作と手
順を知りたい
プロジェクト種
別に関係なく使
用できる機能の
詳細
操作方法を知り
たい
プログラミング
用の機能と操作
方法を知りたい
概要
インテリジェン
ト機能ユニット
のデータ設定方
法を知りたい
1-2
1.1 本マニュアルの位置付け
詳細
1
(2) プログラミングで使用する言語ごとの操作
各言語のプログラミングで使用する命令の詳細は (3) を参照してください。
目的
ラダー
シンプル
プロジェクト
GX Works2 Version 1
オペレーティングマニュアル
シンプル
構造化
シンプル
構造化
プロジェクト編
プロジェクト編
プロジェクト編
プロジェクト編
概 要
はじめよう GX Works2
詳細
概要
*1
SFC
詳細
概要
ST
詳細
概要
ラダー
詳細
概要
*1
SFC
詳細
概要
構造化
プロジェクト
構造化ラダー /FBD
ST
詳細
概要
詳細
概要
*1: MELSAP3,FX シリーズ用 SFC のみ
1.1 本マニュアルの位置付け
1-3
(3) 各言語のプログラミングで使用する命令の詳細
MELSEC-Q/L/F
構造化プログラ
ミング
目的
構造化プログラミング
マニュアル
マニュアル
基礎編
MELSEC-
MELSEC-Q/L
Q/L プロ
グラミング
マニュアル
共通
特殊
応用
命令編
命令編
関数編
共通命令編
MELSEC-Q
MELSEC-Q/L/QnA プログラミン
プログラミング
グ/構造化プ
マニュアル
ログラミング
マニュアル
PID 制御
命令編
SFC 編
プロセス制御
命令編
使用する
ユニット
のマニュ
アル

シーケンサ CPU
すべての
言語
*1
のエラーコード,
特殊リレー・特殊
詳細
レジスタの内容を
知りたい
共通命令の種類と
詳細
詳細を知りたい
インテリジェント
機能ユニット用命
詳細
令の種類と詳細を
知りたい
ラダーを使
ネットワークユ
用する場合
ニット用命令の種
詳細
類と詳細を知りた
い
PID 制御機能用命
令の種類と詳細を
詳細
知りたい
プロセス制御命令
の種類と詳細を知
詳細
りたい
SFC(MELSAP3)
SFC を使用 の仕様,機能,命
する場合
詳細
令などの詳細を知
りたい
構造化プログラミ
ングするための基
詳細
礎を知りたい
共通命令の種類と
詳細を知りたい
詳細
インテリジェント
機能ユニット用命
構造化ラ
ダー /FBD
または ST
を使用する
場合
詳細
概要
令の種類と詳細を
知りたい
ネットワークユ
ニット用命令の種
詳細
概要
類と詳細を知りた
い
PID 制御機能用命
令の種類と詳細を
詳細
概要
知りたい
応用関数の種類と
詳細
詳細を知りたい
プロセス制御命令
の種類と詳細を知
詳細
りたい
* 1:
1-4
使用する CPU ユニットのユーザーズマニュアル(ハードウェア設計・保守点検編)を参照してくださ
い。
1.1 本マニュアルの位置付け
本マニュアルでは,ソフトウェアパッケージ,シーケンサ CPU などを,次の総称・略称で表
しています。対象形名の明示が必要なときは,ユニット形名を記載しています。
総称/略称
総称・略称の内容
GX Works2
MELSEC シーケンサソフトウェアパッケージの製品名
ベーシックモデル QCPU
Q00JCPU,Q00CPU,Q01CPU の総称。
ハイパフォーマンス
モデル QCPU
プロセス CPU
二重化 CPU
Q02CPU,Q02HCPU,Q06HCPU,Q12HCPU,Q25HCPU の総称。
Q02PHCPU,Q06PHCPU,Q12PHCPU,Q25PHCPU の総称。
Q12PRHCPU,Q25PRHCPU の総称。
Q00UJCPU,Q00UCPU,Q01UCPU,Q02UCPU,Q03UDCPU,Q03UDVCPU,
Q03UDECPU,Q04UDHCPU,Q04UDVCPU,Q04UDPVCPU,Q04UDEHCPU,
ユニバーサルモデル
Q06UDHCPU,Q06UDVCPU,Q06UDPVCPU,Q06UDEHCPU,Q10UDHCPU,
QCPU
Q10UDEHCPU,Q13UDHCPU,Q13UDVCPU,Q13UDPVCPU,Q13UDEHCPU,
Q20UDHCPU,Q20UDEHCPU,Q26UDHCPU,Q26UDVCPU,Q26UDPVCPU,
Q26UDEHCPU,Q50UDEHCPU,Q100UDEHCPU の総称。
QCPU(Q モード )
LCPU
ベーシックモデル QCPU,ハイパフォーマンスモデル QCPU,プロセス CPU,二重化 CPU,ユニ
バーサルモデル QCPU の総称。
L02SCPU,L02SCPU-P,L02CPU,L02CPU-P,L06CPU,L06CPU-P,L26CPU,
L26CPU-P,L26CPU-BT,L26CPU-PBT の総称。
CPU ユニット
QCPU(Q モード ),LCPU の総称。
パソコン
Windows® が動作するパーソナルコンピュータの総称。
共通命令
特殊命令
応用関数
シーケンス命令,基本命令,応用命令,データリンク用命令,マルチ CPU 間専用命令,マルチ CPU
間高速通信専用命令,二重化システム用命令の総称。
ユニット専用命令,PID 制御命令,ソケット通信機能用命令,内蔵 I/O 機能用命令,データロギング
機能用命令の総称。
IEC61131-3 で定義された関数(ファンクションおよびファンクションブロック)の総称。
(シーケンサの内部では,複数の共通命令を組み合わせて実行される。)
1.2 本マニュアルで使用する総称・略称
1-5
概 要
1
1.2 本マニュアルで使用する総称・略称
メ モ
1-6
2
概 要
1
関数一覧
関数一覧
2
関数一覧表の見方. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.2
関数一覧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
4
関数の見方
2.1
関数の構成
3
応用関数
5
オペレータ
6
索 引
索
2-1
2.1 関数一覧表の見方
2.2 節の関数一覧表は,次のような形式になっています。
①
②
③
④
説 明
➀ ・・・・・・ プログラムで使用する関数名を示します。
“ 関数名 (_E)” は EN/ENO 付き関数として使用します。
➁ ・・・・・・ 関数の引数を示します。
s :ソース・・・・・・・・・・・・・・・・・・・・・ 演算前にデータを格納します。
○
d :ディスティネーション・・・・・・・ 演算後のデータの行き先を示します。
○
s(ソース)の数を2∼ 28 まで変更できます。
(ピン数可変)・・・・・・・・・・・・・・・・・・ ○
ピン数を変更する場合
ピン追加
ピン削除
➂ ・・・・・・ 各関数の処理内容を示します。
➃ ・・・・・・ 各関数を説明しているページを示します。
2-2
2.1 関数一覧表の見方
2.2 関数一覧
型変換関数
関数名
引数
説明
処理内容
ページ
BOOL_TO_INT(_E)
s ,○
d
○
ビット型データをワード [ 符号付き ] 型,ダブルワード [ 符号付き ]
BOOL_TO_DINT(_E)
s ,○
d
○
型データへ変換します。
BOOL_TO_STR(_E)
s ,○
d
○
ビット型データを文字列型データへ変換します。
5-2
5-5
ビット型データをワード [ 符号なし ]/ ビット列 [16 ビット ] 型,ダ
BOOL_TO_WORD(_E)
s ,○
d
○
BOOL_TO_DWORD(_E)
s ,○
d
○
す。
BOOL_TO_TIME(_E)
s ,○
d
○
ビット型データを時間型データへ変換します。
INT_TO_DINT(_E)
s ,○
d
○
DINT_TO_INT(_E)
s ,○
d
○
INT_TO_BOOL(_E)
s ,○
d
○
ワード [ 符号付き ] 型,ダブルワード [ 符号付き ] 型データをビット
DINT_TO_BOOL(_E)
s ,○
d
○
型データへ変換します。
INT_TO_REAL(_E)
s ,○
d
○
ワード [ 符号付き ] 型,ダブルワード [ 符号付き ] 型データを単精度
DINT_TO_REAL(_E)
s ,○
d
○
実数型データへ変換します。
INT_TO_LREAL(_E)
s ,○
d
○
ワード [ 符号付き ] 型,ダブルワード [ 符号付き ] 型データを倍精度
DINT_TO_LREAL(_E)
s ,○
d
○
実数型データへ変換します。
INT_TO_STR(_E)
s ,○
d
○
ワード [ 符号付き ] 型,ダブルワード [ 符号付き ] 型データを文字列
DINT_TO_STR(_E)
s ,○
d
○
型データへ変換します。
INT_TO_WORD(_E)
s ,○
d
○
ワード [ 符号付き ] 型,ダブルワード [ 符号付き ] 型データをワード
DINT_TO_WORD(_E)
s ,○
d
○
[ 符号なし ]/ ビット列 [16 ビット ] 型データへ変換します。
INT_TO_DWORD(_E)
s ,○
d
○
ワード [ 符号付き ] 型,ダブルワード [ 符号付き ] 型データをダブル
DINT_TO_DWORD(_E)
s ,○
d
○
ワード [ 符号なし ]/ ビット列 [32 ビット ] 型データへ変換します。
INT_TO_BCD(_E)
s ,○
d
○
ワード [ 符号付き ] 型,ダブルワード [ 符号付き ] 型データを BCD
DINT_TO_BCD(_E)
s ,○
d
○
型データへ変換します。
INT_TO_TIME(_E)
s ,○
d
○
ワード [ 符号付き ] 型,ダブルワード [ 符号付き ] 型データを時間型
DINT_TO_TIME(_E)
s ,○
d
○
データへ変換します。
REAL_TO_INT(_E)
s ,○
d
○
単精度実数型データをワード [ 符号付き ] 型,ダブルワード [ 符号付
REAL_TO_DINT(_E)
s ,○
d
○
き ] 型データへ変換します。
LREAL_TO_INT(_E)
s ,○
d
○
倍精度実数型データをワード [ 符号付き ] 型,ダブルワード [ 符号付
LREAL_TO_DINT(_E)
s ,○
d
○
き ] 型データへ変換します。
REAL_TO_LREAL(_E)
s ,○
d
○
単精度実数型データを倍精度実数型データへ変換します。
5-47
LREAL_TO_REAL(_E)
s ,○
d
○
倍精度実数型データを単精度実数型データへ変換します。
5-49
REAL_TO_STR(_E)
s ,○
d
○
単精度実数型データを文字列型(指数型式)データへ変換します。
5-51
WORD_TO_BOOL(_E)
s ,○
d
○
DWORD_TO_BOOL(_E)
s ,○
d
○
す。
WORD_TO_INT(_E)
s ,○
d
○
ワード [ 符号なし ]/ ビット列 [16 ビット ] 型データをワード [ 符号
WORD_TO_DINT(_E)
s ,○
d
○
付き ] 型,ダブルワード [ 符号付き ] 型データへ変換します。
DWORD_TO_INT(_E)
s ,○
d
○
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型データをワード
DWORD_TO_DINT(_E)
s ,○
d
○
[ 符号付き ] 型,ダブルワード [ 符号付き ] 型データへ変換します。
WORD_TO_DWORD(_E)
s ,○
d
○
ブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型データへ変換しま
ワード [ 符号付き ] 型データをダブルワード [ 符号付き ] 型データへ
変換します。
ダブルワード [ 符号付き ] 型データをワード [ 符号付き ] 型データへ
変換します。
5-7
5-10
5-12
5-14
5-16
5-19
5-22
5-25
5-29
5-32
5-35
5-38
5-41
5-44
ワード [ 符号なし ]/ ビット列 [16 ビット ] 型,ダブルワード [ 符号
なし ]/ ビット列 [32 ビット ] 型データをビット型データへ変換しま
ワード [ 符号なし ]/ ビット列 [16 ビット ] 型データをダブルワード
[ 符号なし ]/ ビット列 [32 ビット ] 型データへ変換します。
2.2 関数一覧
2.2.1 型変換関数
2
関数一覧
2.2.1
5-55
5-58
5-61
5-64
2-3
関数名
引数
処理内容
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型データをワード
DWORD_TO_WORD(_E)
s ,○
d
○
WORD_TO_STR(_E)
s ,○
d
○
DWORD_TO_STR(_E)
s ,○
d
○
WORD_TO_TIME(_E)
s ,○
d
○
DWORD_TO_TIME(_E)
s ,○
d
○
す。
STR_TO_BOOL(_E)
s ,○
d
○
文字列型データをビット型データへ変換します。
STR_TO_INT(_E)
s ,○
d
○
文字列型データをワード [ 符号付き ] 型,ダブルワード [ 符号付き ]
STR_TO_DINT(_E)
s ,○
d
○
型データへ変換します。
STR_TO_REAL(_E)
s ,○
d
○
文字列型データを単精度実数型データへ変換します。
[ 符号なし ]/ ビット列 [16 ビット ] 型データへ変換します。
5-66
ワード [ 符号なし ]/ ビット列 [16 ビット ] 型,ダブルワード [ 符号
なし ]/ ビット列 [32 ビット ] 型データを文字列型データへ変換しま
5-69
す。
ワード [ 符号なし ]/ ビット列 [16 ビット ] 型,ダブルワード [ 符号
なし ]/ ビット列 [32 ビット ] 型データを時間型データへ変換しま
5-72
5-75
5-77
5-80
文字列型データをワード [ 符号なし ]/ ビット列 [16 ビット ] 型,ダ
STR_TO_WORD(_E)
s ,○
d
○
STR_TO_DWORD(_E)
s ,○
d
○
す。
STR_TO_TIME(_E)
s ,○
d
○
文字列型データを時間型データへ変換します。
5-88
STR_TO_BCD(_E)
s ,○
d
○
文字列型データを BCD 型データへ変換します。
5-91
BCD_TO_INT(_E)
s ,○
d
○
BCD 型データをワード [ 符号付き ] 型,ダブルワード [ 符号付き ]
BCD_TO_DINT(_E)
s ,○
d
○
型データへ変換します。
BCD_TO_STR(_E)
s ,○
d
○
BCD 型データを文字列型データへ変換します。
5-100
TIME_TO_BOOL(_E)
s ,○
d
○
時間型データをビット型データへ変換します。
5-103
TIME_TO_INT(_E)
s ,○
d
○
時間型データをワード [ 符号付き ] 型,ダブルワード [ 符号付き ] 型
TIME_TO_DINT(_E)
s ,○
d
○
データへ変換します。
TIME_TO_STR(_E)
s ,○
d
○
時間型データを文字列型データへ変換します。
TIME_TO_WORD(_E)
s ,○
d
○
TIME_TO_DWORD(_E)
s ,○
d
○
BITARR_TO_INT(_E)
s ,n, ○
d
○
BITARR_TO_DINT(_E)
s ,n, ○
d
○
INT_TO_BITARR(_E)
s ,n, ○
d
○
DINT_TO_BITARR(_E)
s ,n, ○
d
○
CPY_BITARR(_E)
s ,n, ○
d
○
ビット配列を指定ビットサイズ分コピーします。
5-117
GET_BIT_OF_INT(_E)
s ,n, ○
d
○
ワード [ 符号付き ] 型データの指定ビットの値を読み出します。
5-119
SET_BIT_OF_INT(_E)
s ,n, ○
d
○
ワード [ 符号付き ] 型データの指定ビットに値を書き込みます。
5-121
CPY_BIT_OF_INT(_E)
s ,n1,n2, ○
d
○
GET_BOOL_ADDR
s ,○
d
○
データの型をビット型に変換します。
GET_INT_ADDR
s ,○
d
○
データの型をワード [ 符号付き ] 型に変換します。
GET_WORD_ADDR
s ,○
d
○
ブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型データへ変換しま
2.2 関数一覧
2.2.1 型変換関数
5-84
5-96
5-105
5-108
時間型データをワード [ 符号なし ]/ ビット列 [16 ビット ] 型,ダブ
ルワード [ 符号なし ]/ ビット列 [32 ビット ] 型データへ変換しま
2-4
説明
ページ
5-110
す。
ビット配列から指定のビット数をワード [ 符号付き ] 型/ワード [ 符
号なし ]/ ビット列 [16 ビット ] 型,ダブルワード [ 符号付き ] 型/
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型データへ変換し
5-113
ます。
ワード [ 符号付き ] 型/ワード [ 符号なし ]/ ビット列 [16 ビット ]
型,ダブルワード [ 符号付き ] 型/ダブルワード [ 符号なし ]/ ビッ
ト列 [32 ビット ] 型データの下位 n ビットをビット配列に出力しま
5-115
す。
ワード [ 符号付き ] 型データの指定ビットを別のワード [ 符号付き ]
型データの指定ビットにコピーします。
データの型をワード [ 符号なし ]/ ビット列 [16 ビット ] 型に変換し
ます。
5-123
5-125
2.2.2
単数値変数関数
関数名
ABS(_E)
引数
処理内容
5-127
入力値の絶対値を出力します。
s ,○
d
○
説明
ページ
2
算術演算関数
関数名
引数
s1 , ○
s2 ,... ○
s28 , ○
d
○
ADD_E
(ピン数可変)
s1 , ○
s2 ,... ○
s28 , ○
d
○
MUL_E
(ピン数可変)
処理内容
説明
ページ
s1 + ○
s2 +・・・+ ○
s28 )を出力します。
入力値の和( ○
5-131
s1
s2 ・・・ ○
s28 )を出力します。
入力値の積( ○
○
5-134
SUB_E
s1
s ,○
s2 , ○
d
○
s1  ○
s2 )を出力します。
入力値の差( ○
5-137
DIV_E
s1
s ,○
s2 , ○
d
○
s1 ÷ ○
s2 )を出力します。
入力値の商( ○
5-140
MOD(_E)
s1
s ,○
s2 , ○
d
○
s1 ÷ ○
s2 )を出力します。
入力値の余り( ○
5-143
EXPT(_E)
s1
s ,○
s2 , ○
d
○
入力値のべき乗を出力します。
5-146
MOVE(_E)
s ,○
d
○
d へ代入します。
入力値を ○
5-149
2.2.4
ビット型ブール関数
関数名
s1
s ,○
s2 ,... ○
s28 , ○
d
○
AND_E
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
OR_E
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
XOR_E
(ピン数可変)
NOT(_E)
処理内容
説明
ページ
入力値の論理積を出力します。
入力値の論理和を出力します。
5-152
入力値の排他的論理和を出力します。
入力値の論理否定を出力します。
s ,○
d
○
2.2.5
選択関数
関数名
SEL(_E)
MAXIMUM(_E)
MINIMUM(_E)
LIMITATION(_E)
MUX(_E)
引数
引数
s1
s ,○
s2 , ○
s3 , ○
d
○
s1
s ,○
s2 ,... ○
s28 , ○
d
○
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
(ピン数可変)
s1
s ,○
s2 , ○
s3 , ○
d
○
s1
s ,○
s2 ,... ○
s28 , ○
d
n, ○
(ピン数可変)
処理内容
説明
ページ
5-157
選択した入力値を出力します。
入力値の最大値を出力します。
5-160
入力値の最小値を出力します。
上下限リミット制御された入力値を出力します。
5-163
複数入力値の一つを出力します。
5-166
2.2 関数一覧
2.2.2 単数値変数関数
2-5
関数一覧
2.2.3
2.2.6
比較関数
関数名
引数
説明
ページ
s1
s ,○
s2 ,... ○
s28 , ○
d
○
GT_E
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
GE_E
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
EQ_E
(ピン数可変)
入力値のデータ比較結果を出力します。
5-169
s1
s ,○
s2 ,... ○
s28 , ○
d
○
LE_E
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
LT_E
(ピン数可変)
NE_E
s1
s ,○
s2 , ○
d
○
2.2.7
文字列関数
関数名
引数
MID(_E)
s ,n1,n2, ○
d
○
s1
s ,○
s2 ,... ○
s28 , ○
d
○
CONCAT(_E)
(ピン数可変)
処理内容
説明
ページ
入力された文字列の任意位置から指定文字分を出力します。
5-172
文字列を結合して出力します。
5-175
INSERT(_E)
s1
s ,○
s2 ,n, ○
d
○
文字列の間へ文字列を挿入して出力します。
5-177
DELETE(_E)
s ,n1,n2, ○
d
○
文字列の任意の範囲を削除して出力します。
5-180
REPLACE(_E)
s1
s ,○
s2 ,n1,n2, ○
d
○
文字列の任意の範囲を置換して出力します。
5-183
2.2.8
時刻データ型関数
関数名
ADD_TIME(_E)
引数
処理内容
s1
s ,○
s2 , ○
d
○
s1 + ○
s2 )を出力します。
入力値(時間型)の和( ○
SUB_TIME(_E)

説明
ページ
5-186
s1
s ,○
s2 , ○
d
○
s1
入力値(時間型)の差( ○
s2 )を出力します。
○
5-189
MUL_TIME(_E)
s1
s ,○
s2 , ○
d
○
s1
s2 )を出力します。
入力値(時間型)の積( ○
○
5-192
DIV_TIME(_E)
s1
s ,○
s2 , ○
d
○
s1 ÷ ○
s2 )を出力します。
入力値(時間型)の商( ○
5-195
2.2.9
二安定ファンクションブロック
関数名
2-6
処理内容
引数
SR(_E)
s1
s ,○
s2 , ○
d
○
RS(_E)
s1
s ,○
s2 , ○
d
○
2.2 関数一覧
2.2.6 比較関数
処理内容
2つの入力値を判別し,1(TRUE)または 0(FALSE)を出力しま
す。
(セット優先)
2つの入力値を判別し,1(TRUE)または 0(FALSE)を出力しま
す。
(リセット優先)
説明
ページ
5-197
5-200
2.2.10
エッジ検出ファンクションブロック
関数名
引数
処理内容
説明
ページ
R_TRIG(_E)
s ,○
d
○
信号の立ち上がりを検出してパルス信号を出力します。
5-203
F_TRIG(_E)
s ,○
d
○
信号の立ち下がりを検出してパルス信号を出力します。
5-206
カウンタファンクションブロック
関数名
引数
処理内容
関数一覧
2.2.11
説明
ページ
CTU(_E)
s1 , ○
s2 ,n, ○
d1 , ○
d2
○
信号の立ち上がり回数をカウントアップします。
5-208
CTD(_E)
s1 , ○
s2 ,n, ○
d1 , ○
d2
○
信号の立ち上がり回数をカウントダウンします。
5-211
信号の立ち上がり回数をカウントアップ/カウントダウンします。
5-214
s3 から ○
s2 までカウントアップします。
信号の立ち上がり回数を ○
5-218
s1 , ○
s2 , ○
s3 , ○
s4 ,
○
CTUD(_E)
d1 , ○
d2 , ○
d3
n, ○
COUNTER_FB_M
2.2.12
s1 , ○
s2 , ○
s3 , ○
d1 , ○
d2
○
タイマファンクションブロック
関数名
TP(_E)
TP_HIGH(_E)
TON(_E)
TON_HIGH(_E)
TOF(_E)
TOF_HIGH(_E)
引数
処理内容
説明
ページ
s ,n, ○
d1 , ○
d2
○
指定された時間の間,信号を ON します。
5-220
s ,n, ○
d1 , ○
d2
○
指定された時間後に信号を ON します。
5-223
s ,n, ○
d1 , ○
d2
○
指定された時間後に信号を OFF します。
5-226
s1 , ○
s2 , ○
s3 , ○
d1 , ○
d2
○
s3 から ○
s2 で指定された時間後に信号を ON します。
入力値 ○
5-229
TIMER_10_FB_M
TIMER_100_FB_M
TIMER_HIGH_FB_M
TIMER_LOW_FB_M
TIMER_CONT_FB_M
TIMER_CONTHFB_M
応用関数のファンクション,ファンクションブロックは,複数のシーケンス命
令を組み合わせて演算を行います。そのため,応用関数の演算中に割込みが発
生すると,意図しない演算結果になる場合があります。
割込みプログラムを使用する場合は,必要に応じて割込禁止/許可命令 (DI/EI
命令 ) を使用してください。
2.2 関数一覧
2.2.10 エッジ検出ファンクションブロック
2
2-7
2.3 オペレータ一覧
2.3.1
算術演算
オペレータ名
構造化ラダー /FBD
引数
ST
s1 , ○
s2 ,... ○
s28 , ○
d
○
説明
ページ
s1 + ○
s2 +・・・+ ○
s28 )を出力します。
入力値の和( ○
6-2
s1
s2 ・・・ ○
s28 )を出力します。
入力値の積( ○
○
6-4
s1
s ,○
s2 , ○
d
○
s1  ○
s2 )を出力します。
入力値の差( ○
6-6
/
s1
s ,○
s2 , ○
d
○
s1 ÷ ○
s2 )を出力します。
入力値の商( ○
6-8
(未対応)
MOD
s1
s ,○
s2 , ○
d
○
s1 ÷ ○
s2 )を出力します。
入力値の余り( ○
6-10
(未対応)
**
s1
s ,○
s2 , ○
d
○
入力値のべき乗を出力します。
6-11
ADD
+
MUL
*
SUB
−
DIV
2.3.2
(ピン数可変)
s1 , ○
s2 ,... ○
s28 , ○
d
○
(ピン数可変)
ビット型ブール
オペレータ名
構造化ラダー /FBD
s1
s ,○
s2 ,... ○
s28 , ○
d
○
AND
OR
OR
XOR
XOR
(未対応)
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
(ピン数可変)
NOT
2.3.3
引数
ST
&
AND
処理内容
説明
ページ
入力値の論理積を出力します。
入力値の論理和を出力します。
6-13
入力値の排他的論理和を出力します。
入力値の論理否定を出力します。
s ,○
d
○
比較
オペレータ名
構造化ラダー /FBD
2-8
処理内容
ST
GT
>
GE
>=
EQ
=
LE
<=
LT
<
NE
<>
2.3 オペレータ一覧
2.3.1 算術演算
引数
処理内容
説明
ページ
s1
s ,○
s2 ,... ○
s28 , ○
d
○
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
(ピン数可変)
s1
s ,○
s2 ,... ○
s28 , ○
d
○
(ピン数可変)
s1
s ,○
s2 , ○
d
○
入力値のデータ比較結果を出力します。
6-16
3
概 要
1
関数の構成
関数一覧
2
関数の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.2
入力ピン数可変関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
4
関数の見方
3.1
関数の構成
3
応用関数
5
オペレータ
6
索 引
索
3-1
3.1 関数の構成
CPU ユニットで使用できる命令は,関数名と引数に分けることができます。
関数名と引数の用途は,次のようになっています。
• 関数名 ・・・・・・・ その関数の機能を示す。
• 引数 ・・・・・・・・・ 関数で使用する入出力データを示す。
引数には,ソースデータ,ディスティネーションデータ,実行条件,実行結果があります。
s
(1) ソース ○
(a) ソースは演算で使用するデータです。
(b) 関数で指定するデバイスにより,次のようになります。
• 定数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・演算で使用する数値を指定します。
プログラム作成時に設定するため,プログ
ラム実行中での変更はできません。
定数を可変データで使用する場合は,イン
デックス修飾してください。
• ビットデバイス,ワードデバイス ・・・・演算で使用するデータの格納されているデ
バイスを指定します。
演算を実行するまでに指定のデバイスへ
データを格納しておく必要があります。
プログラム実行中,指定されたデバイスに
格納するデータを変更することにより,そ
の関数で使用するデータを変更できます。
(c) ビットデバイスを使用するソースに,接点を直接入力することはできません。
d
(2) ディスティネーション ○
(a) ディスティネーションには,演算後のデータが格納されます。
(b) ディスティネーションには必ずデータを格納するためのデバイスを設定します。
(c) ビットデバイスを格納するディスティネーションに,コイルを直接接続することはで
きません。
(3) 実行条件(EN)
(a) 入力変数 EN は関数の実行条件を入力します。
(4) 実行結果(ENO)
(a) 出力変数 ENO は実行結果を出力します。
ラベルや構造体などの関数の構成の詳細は,MELSEC-Q/L/F 構造化プログラ
ミングマニュアル(基礎編)を参照してください。
3-2
3.1 関数の構成
3.2 入力ピン数可変関数
関数の中には,入力ピン数を変更できるものがあります。
入力ピン数の変更は,対象となる関数を選択して入力ピン数の変更を行います。
入力ピン数の変更操作は
GX Works2 Version 1 オペレーティングマニュアル ( 構造化プ
ロジェクト編 ) を参照してください。
ピン追加
3
関数の構成
ピン削除
3.2 入力ピン数可変関数
3-3
メ モ
3-4
索 引
オペレータ
応用関数
関数の見方
関数の構成
関数一覧
4
関数の見方
概 要
1
2
3
4
5
6
索
4-1
本マニュアルの 5 章以降では,次のような構成で各関数の説明を行っています。
➀ 項番号,関数の概要を示しています。
➁ 説明対象の関数を示しています。
4-2
➂ 関数を使用できる CPU ユニットを示しています。
アイコン
ベーシックモデル
ハイパフォーマンス
QCPU
モデル QCPU
プロセス CPU
二重化 CPU
ユニバーサル
モデル QCPU
内 容
LCPU
通常のアイコンは,
該当する関数が使
Basic
High
performance
Process
Redundant
Universal
用できることを示
LCPU
します。
Ver. マーク付きア
イコンは,一部制
約付きで使用でき
Ver.
Ver.
Ver.
Ver.
Ver.
Ver.
Basic
High
performance
Process
Redundant
Universal
L CPU
ることを示します。
(機能バージョン,
ソフトウェアバー
ジョン)
マーク付きアイ
コンは,該当する
High
performance
Process
Redundant
Universal
関数が使用できな
LCPU
いことを示します。
➃ 関数名を示しています。
4
➄ 記述できる関数名を示しています。
➅ 構造化ラダ ―/FBD,ST での関数の記述形式を示しています。
➆ 関数の入力引数,出力引数の名称,各引数のデータ型を示しています。
各データ型の詳細は,MELSEC-Q/L/F 構造化プログラミングマニュアル(基礎編)を参照
してください。
➇ 関数の果たす機能について示しています。
➈ エラーの有無を示しています。エラーがある場合は,エラーの起きる条件について示してい
ます。
➉ プログラム例を構造化ラダ ―/FBD,ST について示しています。
4-3
関数の見方
Basic
メ モ
4-4
5
概 要
1
応用関数
関数一覧
2
5.2
単数値変数関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-127
5.3
算術演算関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-131
5.4
ビット型ブール関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-152
5.5
選択関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-157
5.6
比較関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-169
5.7
文字列関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-172
5.8
時刻データ型関数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-186
5.9
二安定ファンクションブロック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-197
エッジ検出ファンクションブロック . . . . . . . . . . . . . . . . . . . . . . . . . . 5-203
5.11
カウンタファンクションブロック . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-208
5.12
タイマファンクションブロック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-220
5
6
オペレータ
5.10
4
関数の見方
型変換関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
応用関数
5.1
関数の構成
3
索 引
索
5-1
BOOL_TO_INT(_E), BOOL_TO_DINT(_E)
5.1 型変換関数
5.1.1
ビット型→ワード[符号付き]型,ダブルワード[符号付
き]型変換
BOOL_TO_INT(_E), BOOL_TO_DINT(_E)
Basic
BOOL_TO_INT(_E)
BOOL_TO_DINT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
BOOL_TO_INT
BOOL_TO_INT_E
BOOL_TO_DINT
BOOL_TO_DINT_E
BOOL_TO_INT_E
EN
ENO:= BOOL_TO_INT_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE : 実行 FALSE : 停止)
: ビット
s(_BOOL):
入力
: ビット
ENO:
実行結果(TRUE : 正常実行 FALSE : 異常または停止)
: ビット
d:
出力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
機 能
演算処理
(1) BOOL_TO_INT, BOOL_TO_INT_E
s に入力されたビット型のデータを,ワード [ 符号付き ] 型のデータに変換して ○
d から出
○
力します。
入力値が FALSE の場合は,ワード [ 符号付き ] 型のデータ値で 0 を出力します。
入力値が TRUE の場合は,ワード [ 符号付き ] 型のデータ値で 1 を出力します。
5-2
s
○
d
○
FALSE
0
TRUE
1
ビット型
ワード[符号付き]型
5.1 型変換関数
5.1.1 ビット型→ワード[符号付き]型,ダブルワード[符号付き]型変換
BOOL_TO_INT(_E), BOOL_TO_DINT(_E)
(2) BOOL_TO_DINT, BOOL_TO_DINT_E
s に入力されたビット型のデータを,ダブルワード [ 符号付き ] 型のデータに変換して
○
d から出力します。
○
入力値が FALSE の場合は,ダブルワード [ 符号付き ] 型のデータ値で 0 を出力します。
入力値が TRUE の場合は,ダブルワード [ 符号付き ] 型のデータ値で 1 を出力します。
s
○
d
○
FALSE
0
TRUE
1
ビット型
ダブルワード[符号付き]型
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
演算出力値
*1
不定値
5
BOOL_TO_INT(_E),
BOOL_TO_DINT(_E)
応用関数
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
5.1 型変換関数
5.1.1 ビット型→ワード[符号付き]型,ダブルワード[符号付き]型変換
5-3
BOOL_TO_INT(_E), BOOL_TO_DINT(_E)
エラー
BOOL_TO_INT(_E), BOOL_TO_DINT(_E) での演算エラーはありません。
プログラム例
s に入力されたビット型のデータを,ワード [ 符号付き ] 型のデータに変換して ○
d から出
(1) ○
力するプログラム。
(a) EN/ENO なし関数 (BOOL_TO_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int1 := BOOL_TO_INT(g_bool1);
(b) EN/ENO 付き関数 (BOOL_TO_INT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := BOOL_TO_INT_E(g_bool1, g_bool2, g_int1);
s に入力されたビット型のデータを,ダブルワード [ 符号付き ] 型のデータに変換して
(2) ○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (BOOL_TO_DINT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint1 := BOOL_TO_DINT(g_bool1);
5-4
5.1 型変換関数
5.1.1 ビット型→ワード[符号付き]型,ダブルワード[符号付き]型変換
BOOL_TO_STR(_E)
5.1.2
ビット型→文字列型変換
BOOL_TO_STR(_E)
Basic
BOOL_TO_STR(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
BOOL_TO_STR
BOOL_TO_STR_E
BOOL_TO_STR_E
EN
ENO:= BOOL_TO_STR_E (EN, s, d);
ENO
s
d
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
s(_BOOL):
入力
: ビット
: ビット
ENO:
実行結果(TRUE:正常実行 FALSE:異常または停止)
: ビット
d:
出力
: 文字列
5
応用関数
入力引数 ,
機 能
BOOL_TO_STR(_E)
演算処理
s に入力されたビット型のデータを,文字列型のデータに変換して ○
d から出力します。
○
入力値が FALSE の場合は,文字列型のデータ値で "0" を出力します。
入力値が TRUE の場合は,文字列型のデータ値で "1" を出力します。
s
○
d
○
FALSE
“0”
TRUE
“1”
ビット型
文字列型
5.1 型変換関数
5.1.2 ビット型→文字列型変換
5-5
BOOL_TO_STR(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
BOOL_TO_STR(_E) での演算エラーはありません。
プログラム例
s に入力されたビット型のデータを,文字列型のデータに変換して ○
d から出力するプログラ
○
ム。
(a) EN/ENO なし関数 (BOOL_TO_STR)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 := BOOL_TO_STR (g_bool1);
5-6
5.1 型変換関数
5.1.2 ビット型→文字列型変換
BOOL_TO_WORD(_E),BOOL_TO_DWORD(_E)
5.1.3
ビット型→ワード[符号なし]/ ビット列[16 ビット]型,
ダブルワード[符号なし]/ ビット列[32 ビット]型変換
BOOL_TO_WORD(_E),BOOL_TO_DWORD(_E)
Basic
BOOL_TO_WORD(_E)
BOOL_TO_DWORD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
BOOL_TO_WORD
BOOL_TO_WORD_E
BOOL_TO_DWORD BOOL_TO_DWORD_E
BOOL_TO_WORD_E
EN
ENO:= BOOL_TO_WORD_E (EN, s, d);
ENO
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_BOOL):
入力
: ビット
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード [ 符号なし ]/ ビット列 [16 ビット ],
5
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
BOOL_TO_WORD(_E),
BOOL_TO_DWORD(_E)
機 能
演算処理
(1) BOOL_TO_WORD, BOOL_TO_WORD_E
s に入力されたビット型のデータを,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型の
○
d から出力します。
データに変換して ○
入力値が FALSE の場合は,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータ値で
0H を出力します。
入力値が TRUE の場合は,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータ値で 1H
を出力します。
s
○
d
○
FALSE
0H
TRUE
1H
ビット型
ワード[符号なし]/ビット列[16ビット]型
5.1 型変換関数
5.1.3 ビット型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット
応用関数
s
5-7
BOOL_TO_WORD(_E),BOOL_TO_DWORD(_E)
(2) BOOL_TO_DWORD, BOOL_TO_DWORD_E
s に入力されたビット型のデータを,ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
○
d から出力します。
型のデータに変換して ○
入力値が FALSE の場合は,ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータ
値で 0H を出力します。
入力値が TRUE の場合は,ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータ
値で 1H を出力します。
s
○
d
○
FALSE
0H
TRUE
1H
ビット型
ダブルワード[符号なし]/ビット列[32ビット]型
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
5-8
5.1 型変換関数
5.1.3 ビット型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列
BOOL_TO_WORD(_E),BOOL_TO_DWORD(_E)
エラー
BOOL_TO_WORD(_E),BOOL_TO_DWORD(_E) での演算エラーはありません。
プログラム例
s に入力されたビット型のデータを,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型の
(1) ○
d から出力するプログラム。
データに変換して ○
(a) EN/ENO なし関数 (BOOL_TO_WORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_word1 := BOOL_TO_WORD (g_bool1);
(b) EN/ENO 付き関数 (BOOL_TO_WORD_E)
〔構造化ラダ ―/FBD〕
5
s に入力されたビット型のデータを,ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
(2) ○
d から出力するプログラム。
型のデータに変換して ○
(a) EN/ENO なし関数 (BOOL_TO_DWORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dword1 := BOOL_TO_DWORD (g_bool1);
5.1 型変換関数
5.1.3 ビット型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット
5-9
BOOL_TO_WORD(_E),
BOOL_TO_DWORD(_E)
応用関数
〔ST〕
g_bool3 := BOOL_TO_WORD_E (g_bool1, g_bool2, g_word1);
BOOL_TO_TIME(_E)
5.1.4
ビット型→時間型変換
BOOL_TO_TIME(_E)
Basic
BOOL_TO_TIME(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
BOOL_TO_TIME
BOOL_TO_TIME_E
BOOL_TO_TIME_E
EN
ENO:= BOOL_TO_TIME_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_BOOL):
入力
: ビット
ENO:
実行結果(TRUE:正常実行 FALSE:異常または停止)
: ビット
d:
出力
: 時間
機 能
演算処理
s に入力されたビット型のデータを,時間型のデータに変換して ○
d から出力します。
○
入力値が FALSE の場合は,時間型のデータ値で 0 を出力します。
入力値が TRUE の場合は,時間型のデータ値で 1 を出力します。
5-10
s
○
d
○
FALSE
0
TRUE
T#1ms
ビット型
時間型
5.1 型変換関数
5.1.4 ビット型→時間型変換
BOOL_TO_TIME(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
BOOL_TO_TIME(_E) での演算エラーはありません。
プログラム例
s に入力されたビット型のデータを,時間型のデータに変換して ○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (BOOL_TO_TIME)
〔構造化ラダ ―/FBD〕
応用関数
5
BOOL_TO_TIME(_E)
〔ST〕
g_time1 := BOOL_TO_TIME (g_bool1);
(b) EN/ENO 付き関数 (BOOL_TO_TIME_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := BOOL_TO_TIME_E (g_bool1, g_bool2, g_time1);
5.1 型変換関数
5.1.4 ビット型→時間型変換
5-11
INT_TO_DINT(_E)
5.1.5
ワード[符号付き]型→ダブルワード[符号付き]型変換
INT_TO_DINT(_E)
Basic
INT_TO_DINT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INT_TO_DINT
INT_TO_DINT_E
INT_TO_DINT_E
EN
ENO:= INT_TO_DINT_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_INT):
入力
: ワード[符号付き]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ダブルワード[符号付き]
機 能
演算処理
s に入力されたワード [ 符号付き ] 型のデータを,ダブルワード [ 符号付き ] 型のデータに変
○
d から出力します。
換して ○
5-12
s
○
d
○
1234
1234
ワード[符号付き]型
ダブルワード[符号付き]型
5.1 型変換関数
5.1.5 ワード[符号付き]型→ダブルワード[符号付き]型変換
INT_TO_DINT(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
INT_TO_DINT(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型のデータを,ダブルワード [ 符号付き ] 型のデータに変
○
d から出力するプログラム。
換して ○
(a) EN/ENO なし関数 (INT_TO_DINT)
5
応用関数
〔構造化ラダ ―/FBD〕
INT_TO_DINT(_E)
〔ST〕
g_dint1 := INT_TO_DINT (g_int1);
(b) EN/ENO 付き関数 (INT_TO_DINT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := INT_TO_DINT_E (g_bool1, g_int1, g_dint1);
5.1 型変換関数
5.1.5 ワード[符号付き]型→ダブルワード[符号付き]型変換
5-13
DINT_TO_INT(_E)
5.1.6
ダブルワード[符号付き]型→ワード[符号付き]型変換
DINT_TO_INT(_E)
Basic
DINT_TO_INT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
DINT_TO_INT
DINT_TO_INT_E
DINT_TO_INT_E
EN
ENO:= DINT_TO_INT_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_DINT):
入力
: ダブルワード[符号付き]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード[符号付き]
機 能
演算処理
s に入力されたダブルワード [ 符号付き ] 型のデータを,ワード [ 符号付き ] 型のデータに変
○
d から出力します。
換して ○
5-14
s
○
d
○
1234
1234
ダブルワード[符号付き]型
ワード[符号付き]型
5.1 型変換関数
5.1.6 ダブルワード[符号付き]型→ワード[符号付き]型変換
DINT_TO_INT(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
s から入力されたダブルワード [ 符号付き ] 型
DINT_TO_INT(_E) を実行時,○
データ値の下位 16 ビットの値のみワード [ 符号付き ] 型のデータに変換されま
す。上位 16 ビットの情報は切り捨てられます。
エラー
DINT_TO_INT(_E) での演算エラーはありません。
5
プログラム例
応用関数
s に入力されたダブルワード [ 符号付き ] 型のデータを,ワード [ 符号付き ] 型のデータに変
○
d から出力するプログラム。
換して ○
(a) EN/ENO なし関数 (DINT_TO_INT)
DINT_TO_INT(_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int1 := DINT_TO_INT(g_dint1);
(b) EN/ENO 付き関数 (DINT_TO_INT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := DINT_TO_INT_E (g_bool1, g_dint1, g_int1);
5.1 型変換関数
5.1.6 ダブルワード[符号付き]型→ワード[符号付き]型変換
5-15
INT_TO_BOOL(_E),DINT_TO_BOOL(_E)
5.1.7
ワード[符号付き]型,ダブルワード[符号付き]型→ビッ
ト型変換
INT_TO_BOOL(_E),DINT_TO_BOOL(_E)
Basic
INT_TO_BOOL(_E)
DINT_TO_BOOL(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INT_TO_BOOL
INT_TO_BOOL_E
DINT_TO_BOOL
DINT_TO_BOOL_E
INT_TO_BOOL_E
EN
ENO:= INT_TO_BOOL_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_INT, _DINT):
入力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ビット
機 能
演算処理
(1) INT_TO_BOOL, INT_TO_BOOL_E
s に入力されたワード [ 符号付き ] 型のデータを,ビット型のデータに変換して ○
d から出
○
力します。
入力値が 0 の場合は,FALSE を出力します。
入力値が 0 以外の場合は,TRUE を出力します。
5-16
s
○
d
○
0
FALSE
1567
TRUE
ワード[符号付き]型
ビット型
5.1 型変換関数
5.1.7 ワード[符号付き]型,ダブルワード[符号付き]型→ビット型変換
INT_TO_BOOL(_E),DINT_TO_BOOL(_E)
(2) DINT_TO_BOOL, DINT_TO_BOOL_E
s に入力されたダブルワード [ 符号付き ] 型のデータを,ビット型のデータに変換して
○
d から出力します。
○
入力値が 0 の場合は,FALSE を出力します。
入力値が 0 以外の場合は,TRUE を出力します。
s
○
d
○
0
FALSE
12345678
TRUE
ダブルワード[符号付き]型
ビット型
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
5
INT_TO_BOOL(_E),
DINT_TO_BOOL(_E)
応用関数
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5.1 型変換関数
5.1.7 ワード[符号付き]型,ダブルワード[符号付き]型→ビット型変換
5-17
INT_TO_BOOL(_E),DINT_TO_BOOL(_E)
エラー
INT_TO_BOOL(_E),DINT_TO_BOOL(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型のデータを,ビット型のデータに変換して ○
d から出
(1) ○
力するプログラム。
(a) EN/ENO なし関数 (INT_TO_BOOL)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool1 := INT_TO_BOOL(g_int1);
(b) EN/ENO 付き関数 (INT_TO_BOOL_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := INT_TO_BOOL_E (g_bool1, g_int1, g_bool2);
s に入力されたダブルワード [ 符号付き ] 型のデータを,ビット型のデータに変換して
(2) ○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (DINT_TO_BOOL)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool1 := DINT_TO_BOOL(g_dint1);
5-18
5.1 型変換関数
5.1.7 ワード[符号付き]型,ダブルワード[符号付き]型→ビット型変換
INT_TO_REAL(_E),DINT_TO_REAL(_E)
5.1.8
ワード[符号付き]型,ダブルワード[符号付き]型→単精
度実数型変換
INT_TO_REAL(_E),DINT_TO_REAL(_E)
Basic
INT_TO_REAL(_E)
DINT_TO_REAL(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INT_TO_REAL
INT_TO_REAL_E
DINT_TO_REAL
DINT_TO_REAL_E
INT_TO_REAL_E
EN
ENO:= INT_TO_REAL_E (EN, s, d);
ENO
s
d
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_INT, _DINT):
入力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 単精度実数
応用関数
出力引数 ,
5
EN:
機 能
演算処理
(1) INT_TO_REAL, INT_TO_REAL_E
s に入力されたワード [ 符号付き ] 型のデータを,単精度実数型のデータに変換して ○
d か
○
ら出力します。
s
○
d
○
1234
1234.0
ワード[符号付き]型
単精度実数型
5.1 型変換関数
5.1.8 ワード[符号付き]型,ダブルワード[符号付き]型→単精度実数型変換
5-19
INT_TO_REAL(_E),
DINT_TO_REAL(_E)
入力引数 ,
INT_TO_REAL(_E),DINT_TO_REAL(_E)
(2) DINT_TO_REAL, DINT_TO_REAL_E
s に入力されたダブルワード [ 符号付き ] 型のデータを,単精度実数型のデータに変
(a) ○
d から出力します。
換して ○
s
○
d
○
16543521
16543521.0
ダブルワード[符号付き]型
単精度実数型
(b) 単精度実数型データは,32 ビットの単精度で処理するため,有効桁数は約 7 桁とな
ります。したがって,整数値が 16777216 ∼ 16777215 の範囲を超えた場合,変
換した値に誤差が生じます。(丸め誤差)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-20
5.1 型変換関数
5.1.8 ワード[符号付き]型,ダブルワード[符号付き]型→単精度実数型変換
INT_TO_REAL(_E),DINT_TO_REAL(_E)
エラー
INT_TO_REAL(_E),DINT_TO_REAL(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型のデータを,単精度実数型のデータに変換して ○
d か
(1) ○
ら出力するプログラム。
(a) EN/ENO なし関数 (INT_TO_REAL)
〔構造化ラダ ―/FBD〕
〔ST〕
g_real1 := INT_TO_REAL(g_int1);
(b) EN/ENO 付き関数 (INT_TO_REAL_E)
〔構造化ラダ ―/FBD〕
5
s に入力されたダブルワード [ 符号付き ] 型のデータを,単精度実数型のデータに変換し
(2) ○
d から出力するプログラム。
て○
(a) EN/ENO なし関数 (DINT_TO_REAL)
〔構造化ラダ ―/FBD〕
〔ST〕
g_real1 := DINT_TO_REAL(g_dint1);
5.1 型変換関数
5.1.8 ワード[符号付き]型,ダブルワード[符号付き]型→単精度実数型変換
5-21
INT_TO_REAL(_E),
DINT_TO_REAL(_E)
応用関数
〔ST〕
g_bool3 := INT_TO_REAL_E(g_bool1, g_int1, g_real1);
INT_TO_LREAL(_E),DINT_TO_LREAL(_E)
5.1.9
ワード[符号付き]型,ダブルワード[符号付き]型→倍精度
実数型変換
INT_TO_LREAL(_E),DINT_TO_LREAL(_E)
Basic
INT_TO_LREAL(_E)
DINT_TO_LREAL(_E)
High
performance
Process
Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INT_TO_LREAL
INT_TO_LREAL_E
DINT_TO_LREAL
DINT_TO_LREAL_E
INT_TO_LREAL_E
EN
ENO:= INT_TO_LREAL_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_INT, _DINT):
入力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 倍精度実数
機 能
演算処理
(1) INT_TO_LREAL, INT_TO_LREAL_E
s に入力されたワード [ 符号付き ] 型のデータを,倍精度実数型のデータに変換して ○
d か
○
ら出力します。
s
○
d
○
1234
1234.0
ワード[符号付き]型
倍精度実数型
(2) DINT_TO_LREAL, DINT_TO_LREAL_E
s に入力されたダブルワード [ 符号付き ] 型のデータを,倍精度実数型のデータに変換し
○
d から出力します。
て○
5-22
s
○
d
○
16543521
16543521.0
ダブルワード[符号付き]型
倍精度実数型
5.1 型変換関数
5.1.9 ワード[符号付き]型,ダブルワード[符号付き]型→倍精度実数型変換
INT_TO_LREAL(_E),DINT_TO_LREAL(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算出力値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
INT_TO_LREAL(_E),
DINT_TO_LREAL(_E)
応用関数
5
5.1 型変換関数
5.1.9 ワード[符号付き]型,ダブルワード[符号付き]型→倍精度実数型変換
5-23
INT_TO_LREAL(_E),DINT_TO_LREAL(_E)
エラー
INT_TO_LREAL(_E),DINT_TO_LREAL(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型のデータを,倍精度実数型のデータに変換して ○
d か
(1) ○
ら出力するプログラム。
(a) EN/ENO なし関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_lreal1 := INT_TO_LREAL(g_int1);
(b) EN/ENO 付き関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := INT_TO_LREAL_E(g_bool1, g_int1, g_lreal2);
s に入力されたダブルワード [ 符号付き ] 型のデータを,倍精度実数型のデータに変換し
(2) ○
d から出力するプログラム。
て○
(a) EN/ENO なし関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_lreal1 := DINT_TO_LREAL(g_dint1);
5-24
5.1 型変換関数
5.1.9 ワード[符号付き]型,ダブルワード[符号付き]型→倍精度実数型変換
INT_TO_STR(_E),DINT_TO_STR(_E)
5.1.10
ワード[符号付き]型,ダブルワード[符号付き]型→文
字列型変換
INT_TO_STR(_E),DINT_TO_STR(_E)
Basic
INT_TO_STR(_E)
DINT_TO_STR(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INT_TO_STR
INT_TO_STR_E
DINT_TO_STR
DINT_TO_STR_E
INT_TO_STR_E
EN
ENO:= INT_TO_STR_E (EN, s, d);
ENO
s
d
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_INT, _DINT):
入力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 文字列 (6)/(11)
応用関数
出力引数 ,
5
EN:
機 能
演算処理
(1) INT_TO_STR, INT_TO_STR_E
s に入力されたワード [ 符号付き ] 型のデータを,文字列型のデータに変換して ○
d か
(a) ○
ら出力します。
d
○
s
○
ワード[符号付き]型
上位バイト
下位バイト
万の位のアスキーコード
符 号 デ ー タ
文字列 1ワード目
百の位のアスキーコード 千の位のアスキーコード
2ワード目
一の位のアスキーコード 十の位のアスキーコード
3ワード目
00H
4ワード目
「SM701」(出力文字数切換)がOFF の場合“00H”を格納します。
(b) " 符号データ " には,入力された値が正のとき "20H(スペース)" を格納し,負のと
き "2DH()" を格納します。
5.1 型変換関数
5.1.10 ワード[符号付き]型,ダブルワード[符号付き]型→文字列型変換
5-25
INT_TO_STR(_E),
DINT_TO_STR(_E)
入力引数 ,
INT_TO_STR(_E),DINT_TO_STR(_E)
(c) 有効桁数が少ない場合は,上位桁に "20H(スペース)" を格納します。
(例)123 を入力した場合
d
○
上位バイト
s
○
-123
下位バイト
20H(スペース)
2DH(-)
31H(1)
20H(スペース)
2ワード目
32H(2)
3ワード目
33H(3)
ワード[符号付き]型
文字列 1ワード目
00H
4ワード目
(d) SM701(出力文字数切換)が OFF の場合,文字列の最後に "00H" を格納します。
(2) DINT_TO_STR, DINT_TO_STR_E
s に入力されたダブルワード [ 符号付き ] 型のデータを,文字列型のデータに変換し
(a) ○
d から出力します。
て○
d
○
上位バイト
s
○
下位バイト
十億の位のアスキーコード
千万の位のアスキーコード
符
号
デ
ー
タ
文字列 1ワード目
2ワード目
億の位のアスキーコード
3ワード目
十万の位のアスキーコード 百万の位のアスキーコード
ダブルワード[符号付き]型
千の位のアスキーコード
万の位のアスキーコード
4ワード目
十の位のアスキーコード
百の位のアスキーコード
5ワード目
00H
一の位のアスキーコード
6ワード目
「SM701」(出力文字数切換)がOFF の場合“00H”を格納します。
(b) " 符号データ " には,入力された値が正のとき "20H(スペース)" を格納し,負のと
き "2DH()" を格納します。
(c) 有効桁数が少ない場合は,上位桁に "20H(スペース)" を格納します。
(例)123456 を入力した場合
d
○
s
○
-123456
ダブルワード[符号付き]型
上位バイト
下位バイト
20H(スペース)
2DH(-)
20H(スペース)
20H(スペース)
2ワード目
31H(1)
20H(スペース)
3ワード目
33H(3)
32H(2)
4ワード目
35H(5)
34H(4)
5ワード目
00H
36H(6)
6ワード目
文字列 1ワード目
(d) SM701(出力文字数切換)が OFF の場合,文字列の最後に "00H" を格納します。
5-26
5.1 型変換関数
5.1.10 ワード[符号付き]型,ダブルワード[符号付き]型→文字列型変換
INT_TO_STR(_E),DINT_TO_STR(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
INT_TO_STR(_E),
DINT_TO_STR(_E)
応用関数
5
5.1 型変換関数
5.1.10 ワード[符号付き]型,ダブルワード[符号付き]型→文字列型変換
5-27
INT_TO_STR(_E),DINT_TO_STR(_E)
エラー
INT_TO_STR(_E),DINT_TO_STR(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型のデータを,文字列型のデータに変換して ○
d から出
(1) ○
力するプログラム。
(a) EN/ENO なし関数 (INT_TO_STR)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 := INT_TO_STR(g_int1);
(b) EN/ENO 付き関数 (INT_TO_STR_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := INT_TO_STR_E (g_bool1, g_int1, g_string1);
s に入力されたダブルワード [ 符号付き ] 型のデータを,文字列型のデータに変換して
(2) ○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (DINT_TO_STR)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 := DINT_TO_STR (g_dint1);
5-28
5.1 型変換関数
5.1.10 ワード[符号付き]型,ダブルワード[符号付き]型→文字列型変換
INT_TO_WORD(_E),DINT_TO_WORD(_E)
5.1.11
ワード[符号付き]型,ダブルワード[符号付き]型→
ワード[符号なし]/ ビット列[16 ビット]型変換
INT_TO_WORD(_E),DINT_TO_WORD(_E)
Basic
INT_TO_WORD(_E)
DINT_TO_WORD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INT_TO_WORD
INT_TO_WORD_E
DINT_TO_WORD
DINT_TO_WORD_E
INT_TO_WORD_E
EN
ENO:= INT_TO_WORD_E (EN, s, d);
ENO
s
d
出力引数 ,
5
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_INT, _DINT):
入力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード[符号なし]/ ビット列[16 ビット]
応用関数
入力引数 ,
INT_TO_WORD(_E),
DINT_TO_WORD(_E)
機 能
演算処理
(1) INT_TO_WORD, INT_TO_WORD_E
s に入力されたワード [ 符号付き ] 型のデータを,ワード [ 符号なし ]/ ビット列 [16
○
d から出力します。
ビット ] 型のデータに変換して ○
s
○
d
○
22136
5678H
ワード[符号付き]型
ワード[符号なし]/ビット列[16ビット]型
5.1 型変換関数
5.1.11 ワード[符号付き]型,ダブルワード[符号付き]型→ワード[符号なし]/ ビット列[16 ビット]型
5-29
INT_TO_WORD(_E),DINT_TO_WORD(_E)
(2) DINT_TO_WORD, DINT_TO_WORD_E
s に入力されたダブルワード [ 符号付き ] 型のデータを,ワード [ 符号なし ]/ ビット列
○
d から出力します。
[16 ビット ] 型のデータに変換して ○
s
○
d
○
12345678
614EH
ダブルワード[符号付き]型
ワード[符号なし]/ビット列[16ビット]型
12345678
0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0
614EH
0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0
上位16ビットの情報は切り捨てられます。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
s に入力されたダブルワード [ 符号付き ] 型
DINT_TO_WORD(_E) を実行時,○
データ値の下位 16 ビットの値のみワード [ 符号なし ]/ ビット列 [16 ビット ]
型のデータに変換されます。上位 16 ビットの情報は切り捨てられます。
5-30
5.1 型変換関数
5.1.11 ワード[符号付き]型,ダブルワード[符号付き]型→ワード[符号なし]/ ビット列[16 ビット]型変換
INT_TO_WORD(_E),DINT_TO_WORD(_E)
エラー
INT_TO_WORD(_E),DINT_TO_WORD(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型のデータを,ワード [ 符号なし ]/ ビット列 [16
(1) ○
d から出力するプログラム。
ビット ] 型のデータに変換して ○
(a) EN/ENO なし関数 (INT_TO_WORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_word1 := INT_TO_WORD(g_int1);
(b) EN/ENO 付き関数 (INT_TO_WORD_E)
〔構造化ラダ ―/FBD〕
5
s に入力されたダブルワード [ 符号付き ] 型のデータを,ワード [ 符号なし ]/ ビット列
(2) ○
d から出力するプログラム。
[16 ビット ] 型のデータに変換して ○
(a) EN/ENO なし関数 (DINT_TO_WORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_word1 := DINT_TO_WORD(g_dint1);
5.1 型変換関数
5.1.11 ワード[符号付き]型,ダブルワード[符号付き]型→ワード[符号なし]/ ビット列[16 ビット]型
5-31
INT_TO_WORD(_E),
DINT_TO_WORD(_E)
応用関数
〔ST〕
g_bool3 := INT_TO_WORD_E (g_bool1, g_int1, g_word1);
INT_TO_DWORD(_E),DINT_TO_DWORD(_E)
5.1.12
ワード[符号付き]型,ダブルワード[符号付き]型→ダ
ブルワード[符号なし]/ ビット列[32 ビット]型変換
INT_TO_DWORD(_E),DINT_TO_DWORD(_E)
Basic
INT_TO_DWORD(_E)
DINT_TO_DWORD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INT_TO_DWORD
INT_TO_DWORD_E
DINT_TO_DWORD
DINT_TO_DWORD_E
INT_TO_DWORD_E
EN
ENO:= INT_TO_DWORD_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_INT, _DINT):
入力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ダブルワード[符号なし]/ ビット列[32 ビット]
機 能
演算処理
(1) INT_TO_DWORD, INT_TO_DWORD_E
s に入力されたワード [ 符号付き ] 型のデータを,ダブルワード [ 符号なし ]/ ビット列
○
d から出力します。
[32 ビット ] 型のデータに変換して ○
s
○
d
○
-325
0000FEBBH
ワード[符号付き]型
ダブルワード[符号なし]/ビット列[32ビット]型
-325
1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1
データ変換
0000FEBBH
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1
データ変換後,上位16ビットは
0になります。
5-32
5.1 型変換関数
5.1.12 ワード[符号付き]型,ダブルワード[符号付き]型→ダブルワード[符号なし]/ ビット列[32
INT_TO_DWORD(_E),DINT_TO_DWORD(_E)
(2) DINT_TO_DWORD, DINT_TO_DWORD_E
s に入力されたダブルワード [ 符号付き ] 型のデータを,ダブルワード [ 符号なし ]/ ビッ
○
d から出力します。
ト列 [32 ビット ] 型のデータに変換して ○
s
○
d
○
12345678
BC614EH
ダブルワード[符号付き]型
ダブルワード[符号なし]/ビット列[32ビット]型
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d
d2
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
INT_TO_DWORD(_E),
DINT_TO_DWORD(_E)
応用関数
5
5.1 型変換関数
5.1.12 ワード[符号付き]型,ダブルワード[符号付き]型→ダブルワード[符号なし]/ ビット列
5-33
INT_TO_DWORD(_E),DINT_TO_DWORD(_E)
エラー
INT_TO_DWORD(_E),DINT_TO_DWORD(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型のデータを,ダブルワード [ 符号なし ]/ ビット列
(1) ○
d から出力するプログラム。
[32 ビット ] 型のデータに変換して ○
(a) EN/ENO なし関数 (INT_TO_DWORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dword1:= INT_TO_DWORD(g_int1);
(b) EN/ENO 付き関数 (INT_TO_DWORD_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := INT_TO_DWORD_E(g_bool1, g_int1, g_dword1);
s に入力されたダブルワード [ 符号付き ] 型のデータを,ダブルワード [ 符号なし ]/ ビッ
(2) ○
d から出力するプログラム。
ト列 [32 ビット ] 型のデータに変換して ○
(a) EN/ENO なし関数 (DINT_TO_DWORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dword1:= DINT_TO_DWORD(g_dint1);
5-34
5.1 型変換関数
5.1.12 ワード[符号付き]型,ダブルワード[符号付き]型→ダブルワード[符号なし]/ ビット列[32
INT_TO_BCD(_E),DINT_TO_BCD(_E)
5.1.13
ワード[符号付き]型,ダブルワード[符号付き]型→
BCD 型変換
INT_TO_BCD(_E),DINT_TO_BCD(_E)
High
performance
Basic
INT_TO_BCD(_E)
DINT_TO_BCD(_E)
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INT_TO_BCD
INT_TO_BCD_E
DINT_TO_BCD
DINT_TO_BCD_E
INT_TO_BCD_E
EN
ENO:= INT_TO_BCD_E (EN, s, d);
ENO
d
出力引数 ,
5
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_INT, _DINT):
入力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード [ 符号なし ]/ ビット列 [16 ビット ],
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
機 能
演算処理
(1) INT_TO_BCD, INT_TO_BCD_E
s に入力されたワード [ 符号付き ] 型のデータを,BCD 型のデータに変換して ○
d か
(a) ○
ら出力します。
s
○
d
○
9999
9999H
ワード[符号付き]型
ワード[符号なし]/ビット列[16ビット]型
32768 16384 8192 4096 2048 1024
9999
0
0
1
0
0
1
512
256
128
64
32
16
8
4
2
1
1
1
0
0
0
0
1
1
1
1
BCD変換
必ず0にしてください。
8000 4000 2000 1000
9999H
1
0
0
千の位
1
800
400
200
100
80
40
20
10
8
4
2
1
1
0
0
1
1
0
0
1
1
0
0
1
百の位
十の位
一の位
s への入力値は,ワード [ 符号付き ] 型のデータ値で 0 ∼ 9999 の範囲内です。
(b) ○
5.1 型変換関数
5.1.13 ワード[符号付き]型,ダブルワード[符号付き]型→ BCD 型変換
5-35
応用関数
入力引数 ,
INT_TO_BCD(_E),
DINT_TO_BCD(_E)
s
INT_TO_BCD(_E),DINT_TO_BCD(_E)
(2) DINT_TO_BCD, DINT_TO_BCD_E
s に入力されたダブルワード [ 符号付き ] 型のデータを,BCD 型のデータに変換し
(a) ○
d から出力します。
て○
d
○
99999999H
ダブルワード[符号付き]型
ダブルワード[符号なし]/ビット列[32ビット]型
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
29
28
27
26
25
24
23
22
21
20
s
○
99999999
0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1
×100
×101
×103
×104
×105
×106
BCD変換
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
×107
必ず0にしてください。
×102
99999999
99999999H
1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1
千万の位 百万の位 十万の位 万の位
千の位
百の位
十の位
一の位
s への入力値は,ダブルワード [ 符号付き ] 型のデータ値で 0 ∼ 99999999 の範囲
(b) ○
内です。
d には,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型,ダブルワード [ 符号なし ]/
(c) ○
ビット列 [32 ビット ] 型が指定できます。ビット型は指定できません。
d からの出力は,ファンクションおよびオペレータのダブルワード [ 符号なし ]
○
/ ビット列 [32 ビット ] 型の入力に接続して使用できません。この場合は,
DBCD 命令を使用してください。
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
演算結果
d
d2
演算エラーなし
演算出力値
演算エラーあり
不定値
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE(演算エラーなし)
FALSE(演算停止)
FALSE
d
d2
*1
演算出力値
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
5-36
5.1 型変換関数
5.1.13 ワード[符号付き]型,ダブルワード[符号付き]型→ BCD 型変換
INT_TO_BCD(_E),DINT_TO_BCD(_E)
エラー
INT_TO_BCD(_E),DINT_TO_BCD(_E) で入力された値がそれぞれ 9999,99999999
を超えた場合には演算エラーとなります。
(エラーコード:4100)
プログラム例
s に入力されたワード [ 符号付き ] 型のデータを,BCD 型のデータに変換して ○
d から出
(1) ○
力するプログラム。
(a) EN/ENO なし関数 (INT_TO_BCD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_word1:= INT_TO_BCD(g_int1);
(b) EN/ENO 付き関数 (INT_TO_BCD_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := INT_TO_BCD_E(g_bool1, g_int1, g_word1);
s に入力されたダブルワード [ 符号付き ] 型のデータを,BCD 型のデータに変換して
(2) ○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (DINT_TO_BCD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dword1:= DINT_TO_BCD(g_dint1);
5.1 型変換関数
5.1.13 ワード[符号付き]型,ダブルワード[符号付き]型→ BCD 型変換
5-37
INT_TO_BCD(_E),
DINT_TO_BCD(_E)
応用関数
5
INT_TO_TIME(_E),DINT_TO_TIME(_E)
5.1.14
ワード[符号付き]型,ダブルワード[符号付き]型→時
間型変換
INT_TO_TIME(_E),DINT_TO_TIME(_E)
Basic
INT_TO_TIME(_E)
DINT_TO_TIME(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INT_TO_TIME
INT_TO_TIME_E
DINT_TO_TIME
DINT_TO_TIME_E
INT_TO_TIME_E
EN
ENO:= INT_TO_TIME_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_INT, _DINT):
入力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 時間
機 能
演算処理
s に入力されたワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型のデータを,時間型の
○
d から出力します。
データに変換して ○
5-38
s
○
d
○
1234
T#1s234ms
ワード[符号付き]型
時間型
5.1 型変換関数
5.1.14 ワード[符号付き]型,ダブルワード[符号付き]型→時間型変換
INT_TO_TIME(_E),DINT_TO_TIME(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
INT_TO_TIME(_E),
DINT_TO_TIME(_E)
応用関数
5
5.1 型変換関数
5.1.14 ワード[符号付き]型,ダブルワード[符号付き]型→時間型変換
5-39
INT_TO_TIME(_E),DINT_TO_TIME(_E)
エラー
INT_TO_TIME(_E),DINT_TO_TIME(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型のデータを,時間型のデータに変換して ○
d から出力
(1) ○
するプログラム。
(a) EN/ENO なし関数 (INT_TO_TIME)
〔構造化ラダ ―/FBD〕
〔ST〕
g_time1:= INT_TO_TIME(g_int1);
(b) EN/ENO 付き関数 (INT_TO_TIME_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := INT_TO_TIME_E(g_bool1, g_int1, g_time1);
s に入力されたダブルワード [ 符号付き ] 型のデータを,時間型のデータに変換して ○
d か
(2) ○
ら出力するプログラム。
(a) EN/ENO なし関数 (DINT_TO_TIME)
〔構造化ラダ ―/FBD〕
〔ST〕
g_time1:= DINT_TO_TIME(g_dint1);
5-40
5.1 型変換関数
5.1.14 ワード[符号付き]型,ダブルワード[符号付き]型→時間型変換
REAL_TO_INT(_E),REAL_TO_DINT(_E)
5.1.15
単精度実数型→ワード[符号付き]型,ダブルワード[符
号付き]型変換
REAL_TO_INT(_E),REAL_TO_DINT(_E)
Basic
REAL_TO_INT(_E)
REAL_TO_DINT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
REAL_TO_INT
REAL_TO_INT_E
REAL_TO_DINT
REAL_TO_DINT_E
REAL_TO_INT_E
EN
ENO:= REAL_TO_INT_E (EN, s, d);
ENO
s
d
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_REAL):
入力
: 単精度実数
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
応用関数
出力引数 ,
5
EN:
機 能
演算処理
(1) REAL_TO_INT, REAL_TO_INT_E
s に入力された単精度実数型のデータを,ワード [ 符号付き ] 型のデータに変換して
(a) ○
d から出力します。
○
s
○
d
○
1234.0
1234
単精度実数型
ワード[符号付き]型
s への入力値は,単精度実数型のデータ値で 32768 ∼ 32767 の範囲内です。
(b) ○
(c) 変換後のデータは,単精度実数型データ値の小数点以下 1 桁目を四捨五入した値とな
ります。
5.1 型変換関数
5.1.15 単精度実数型→ワード[符号付き]型,ダブルワード[符号付き]型変換
5-41
REAL_TO_INT(_E),
REAL_TO_DINT(_E)
入力引数 ,
REAL_TO_INT(_E),REAL_TO_DINT(_E)
(2) REAL_TO_DINT, REAL_TO_DINT_E
s に入力された単精度実数型のデータを,ダブルワード [ 符号付き ] 型のデータに変
(a) ○
d から出力します。
換して ○
s
○
d
○
16543521.0
16543521
単精度実数型
ダブルワード[符号付き]型
s への入力値は,単精度実数型のデータ値で 2147483648 ∼ 2147483647 の範囲
(b) ○
内です。
ただし,プログラミングツールから入力値を設定する場合,丸め誤差が発生する場合
があります。プログラミングツールから入力値を設定する場合の注意事項は,
MELSEC-Q/L/F 構造化プログラミングマニュアル(基礎編)を参照してください。
(c) 変換後のデータは,単精度実数型データ値の小数点以下 1 桁目を四捨五入した値とな
ります。
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
演算結果
d
d2
演算エラーなし
演算出力値
演算エラーあり
不定値
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE(演算エラーなし)
FALSE(演算停止)
FALSE
d
d2
*1
演算出力値
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
5-42
5.1 型変換関数
5.1.15 単精度実数型→ワード[符号付き]型,ダブルワード[符号付き]型変換
REAL_TO_INT(_E),REAL_TO_DINT(_E)
エラー
次の場合には演算エラーとなります。
• REAL_TO_INT(_E):入力された値が 32768 ∼ 32767 以外の場合
(エラーコード 4100)
• REAL_TO_DINT(_E):入力された値が 2147483648 ∼ 2147483647 以外の場合
(エラーコード 4100)
プログラム例
s に入力された単精度実数型のデータを,ワード [ 符号付き ] 型のデータに変換して ○
d か
(1) ○
ら出力するプログラム。
(a) EN/ENO なし関数 (REAL_TO_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int1:= REAL_TO_INT(g_real1);
(b) EN/ENO 付き関数 (REAL_TO_INT_E)
5
〔ST〕
g_bool3 := REAL_TO_INT_E(g_bool1, g_real1, g_int1);
s に入力された単精度実数型のデータを,ダブルワード [ 符号付き ] 型のデータに変換し
(2) ○
d から出力するプログラム。
て○
(a) EN/ENO なし関数 (REAL_TO_DINT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint1:= REAL_TO_DINT(g_real1);
5.1 型変換関数
5.1.15 単精度実数型→ワード[符号付き]型,ダブルワード[符号付き]型変換
5-43
REAL_TO_INT(_E),
REAL_TO_DINT(_E)
応用関数
〔構造化ラダ ―/FBD〕
LREAL_TO_INT(_E),LREAL_TO_DINT(_E)
5.1.16
倍精度実数型→ワード[符号付き]型,ダブルワード[符
号付き]型変換
LREAL_TO_INT(_E),LREAL_TO_DINT(_E)
Basic
LREAL_TO_INT(_E)
LREAL_TO_DINT(_E)
High
performance
Process
Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
LREAL_TO_INT
LREAL_TO_INT_E
LREAL_TO_DINT
LREAL_TO_DINT_E
LREAL_TO_INT_E
EN
ENO:= LREAL_TO_INT_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_LREAL):
入力
: 倍精度実数
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
機 能
演算処理
(1) LREAL_TO_INT, LREAL_TO_INT_E
s に入力された倍精度実数型のデータを,ワード [ 符号付き ] 型のデータに変換して
(a) ○
d から出力します。
○
s
○
d
○
1234.0
1234
倍精度実数型
ワード[符号付き]型
s への入力値は,倍精度実数型のデータ値で 32768 ∼ 32767 の範囲内です。
(b) ○
(c) 変換後のデータは,倍精度実数型データ値の小数点以下 1 桁目を四捨五入した値とな
ります。
5-44
5.1 型変換関数
5.1.16 倍精度実数型→ワード[符号付き]型,ダブルワード[符号付き]型変換
LREAL_TO_INT(_E),LREAL_TO_DINT(_E)
(2) LREAL_TO_DINT, LREAL_TO_DINT_E
s に入力された倍精度実数型のデータを,ダブルワード [ 符号付き ] 型のデータに変
(a) ○
d から出力します。
換して ○
s
○
d
○
16543521.0
16543521
倍精度実数型
ダブルワード[符号付き]型
s への入力値は,倍精度実数型のデータ値で 2147483648 ∼ 2147483647 の範囲
(b) ○
内です。ただし,プログラミングツールから入力値を設定する場合,丸め誤差が発生
する場合があります。プログラミングツールから入力値を設定する場合の注意事項は,
MELSEC-Q/L/F 構造化プログラミングマニュアル(基礎編)を参照してください。
(c) 変換後のデータは,倍精度実数型データ値の小数点以下 1 桁目を四捨五入した値とな
ります。
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
d
演算エラーなし
演算出力値
演算エラーあり
不定値
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
ENO
d
TRUE(演算実行)
TRUE(演算エラーなし)
FALSE(演算停止)
FALSE
*1
応用関数
EN
5
演算出力値
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5.1 型変換関数
5.1.16 倍精度実数型→ワード[符号付き]型,ダブルワード[符号付き]型変換
5-45
LREAL_TO_INT(_E),
LREAL_TO_DINT(_E)
演算結果
LREAL_TO_INT(_E),LREAL_TO_DINT(_E)
エラー
次の場合には演算エラーとなります。
• 入力された値が -0,または下記範囲以外のとき。
-1022
0,2
s |< 2
≦| ○
( エラーコード 4140)
1024
• LREAL_TO_INT(_E):入力された値が 32768.0 ∼ 32767.0 以外の場合
(エラーコード 4140)
• LREAL_TO_DINT(_E):入力された値が 2147483648.0 ∼ 2147483647.0 以外の場合
(エラーコード 4140)
プログラム例
s に入力された倍精度実数型のデータを,ワード [ 符号付き ] 型のデータに変換して ○
d か
(1) ○
ら出力するプログラム。
(a) EN/ENO なし関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_int1:= LREAL_TO_INT(g_lreal1);
(b) EN/ENO 付き関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := LREAL_TO_INT_E(g_bool1, g_lreal1, g_int1);
s に入力された倍精度実数型のデータを,ダブルワード [ 符号付き ] 型のデータに変換し
(2) ○
d から出力するプログラム。
て○
(a) EN/ENO なし関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint1:= LREAL_TO_DINT(g_lreal1);
5-46
5.1 型変換関数
5.1.16 倍精度実数型→ワード[符号付き]型,ダブルワード[符号付き]型変換
REAL_TO_LREAL(_E)
5.1.17
単精度実数型→倍精度実数型変換
REAL_TO_LREAL(_E)
Basic
REAL_TO_LREAL(_E)
High
performance
Process
Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
REAL_TO_LREAL
REAL_TO_LREAL_E
REAL_TO_LREAL_E
EN
ENO:= REAL_TO_LREAL_E (EN, s, d);
ENO
s
d
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
s(_REAL):
入力
: ビット
: 単精度実数
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 倍精度実数
5
応用関数
入力引数 ,
機 能
s に入力された単精度実数型のデータを,倍精度実数型のデータに変換して ○
d から出力し
(1) ○
ます。
s
○
d
○
1234.0
1234.0
単精度実数型
倍精度実数型
s への入力値を設定する場合,丸め誤差が発生する場合があり
(2) プログラミングツールから ○
ます。プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F
構造化プログラミングマニュアル(基礎編)を参照してください。
5.1 型変換関数
5.1.17 単精度実数型→倍精度実数型変換
5-47
REAL_TO_LREAL(_E)
演算処理
REAL_TO_LREAL(_E)
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
演算結果
d
d2
演算エラーなし
演算出力値
演算エラーあり
不定値
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE(演算エラーなし)
FALSE(演算停止)
FALSE
d
d2
*1
演算出力値
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
次の場合には演算エラーとなります。
• 入力された値が -0,または下記範囲以外のとき。
-126
0,2
s |< 2
≦| ○
( エラーコード 4140)
128
• 演算結果が下記範囲を超えるとき(オーバーフローが発生したとき)。
21024 ≦|演算結果|
( エラーコード:4141)
プログラム例
s に入力された単精度実数型のデータを,倍精度実数型のデータに変換して ○
d から出力するプ
○
ログラム。
(a) EN/ENO なし関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_lreal1:= REAL_TO_LREAL(g_real1);
(b) EN/ENO 付き関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := REAL_TO_LREAL_E(g_bool1, g_real1, g_lreal1);
5-48
5.1 型変換関数
5.1.17 単精度実数型→倍精度実数型変換
LREAL_TO_REAL(_E)
5.1.18
倍精度実数型→単精度実数型変換
LREAL_TO_REAL(_E)
Basic
LREAL_TO_REAL(_E)
High
performance
Process
Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
LREAL_TO_REAL
LREAL_TO_REAL_E
LREAL_TO_REAL_E
EN
ENO:= LREAL_TO_REAL_E (EN, s, d);
ENO
s
d
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
s(_LREAL):
入力
: ビット
: 倍精度実数
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 単精度実数
5
応用関数
入力引数 ,
機 能
s に入力された倍精度実数型のデータを,単精度実数型のデータに変換して ○
d から出力し
(1) ○
ます。
s
○
d
○
1234.0
1234.0
倍精度実数型
単精度実数型
s への入力値を設定する場合,丸め誤差が発生する場合があり
(2) プログラミングツールから ○
ます。プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F
構造化プログラミングマニュアル(基礎編)を参照してください。
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
演算結果
d
d2
演算エラーなし
演算出力値
演算エラーあり
不定値
5.1 型変換関数
5.1.18 倍精度実数型→単精度実数型変換
5-49
LREAL_TO_REAL(_E)
演算処理
LREAL_TO_REAL(_E)
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE(演算エラーなし)
FALSE(演算停止)
FALSE
d
d2
*1
演算出力値
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
次の場合には演算エラーとなります。
• 入力された値が -0,または下記範囲以外のとき。
( エラーコード 4140)
s |< 21024
0,2-1022 ≦| ○
• 演算結果が下記範囲を超えるとき(オーバーフローが発生したとき)。
2128 ≦|演算結果|
( エラーコード 4141)
プログラム例
s に入力された倍精度実数型のデータを,単精度実数型のデータに変換して ○
d から出力するプ
○
ログラム。
(a) EN/ENO なし関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_real1:= LREAL_TO_REAL(g_lreal1);
(b) EN/ENO 付き関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := LREAL_TO_REAL_E(g_bool1, g_lreal1, g_real1);
5-50
5.1 型変換関数
5.1.18 倍精度実数型→単精度実数型変換
REAL_TO_STR(_E)
5.1.19
単精度実数型→文字列型変換
REAL_TO_STR(_E)
Ver.
High
performance
Basic
Process Redundant Universal
LCPU
シリアル No. の上 5 桁が “04122” 以降のベーシックモデル QCPU で使用可能。
REAL_TO_STR(_E)
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
REAL_TO_STR
REAL_TO_STR_E
REAL_TO_STR_E
EN
ENO:= REAL_TO_STR_E (EN, s, d);
ENO
s
d
実行条件(TRUE:実行 FALSE:停止)
s(_REAL):
入力
: 単精度実数
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 文字列 (13)
: ビット
5
応用関数
出力引数 ,
EN:
機 能
演算処理
s に入力された単精度実数型のデータを,文字列型(指数型式)のデータに変換して ○
d か
(1) ○
ら出力します。
上位バイト
s
○
単精度実数型
.
符号
(整数部)
E
符号(指数部)
自動的に付加
されます。
d
○
下位バイト
20H(スペース)
符号データ(整数部)
2EH (.)
整数部の
アスキーコード
2ワード目
小数点第二位の
アスキーコード
小数点第一位の
アスキーコード
3ワード目
小数点第四位の
アスキーコード
小数点第三位の
アスキーコード
4ワード目
45H(E)
小数点第五位の
アスキーコード
5ワード目
指数部十の位の
アスキーコード
符号データ(指数部)
6ワード目
00H(NUL)
指数部一の位の
アスキーコード
7ワード目
文字列 1ワード目
「SM701」(出力文字数切換)がOFF の場合“00H”を格納します。
5.1 型変換関数
5.1.19 単精度実数型→文字列型変換
5-51
REAL_TO_STR(_E)
入力引数 ,
REAL_TO_STR(_E)
d から次のように出力します。
(2) 変換後の文字列データは,○
(a) 整数部,小数部,指数部の桁数は,固定です。(整数部:1 桁,小数部:5 桁,指数
部:2 桁)
2 バイト目,4 バイト目,10 バイト目には,それぞれ自動的に "20H"( スペース ),
"2EH"(.) と "45H"(E) を格納します。
d
○
全桁数(13桁)
s
○
-12.3456
整数部
(1桁)小数部(5桁)指数部(2桁)
-
1 . 2 3 4 5 6 E + 0 1
45H(E)になります。
2EH(. )になります。
20H(スペース)になります。
単精度実数型
(b) 符号データ(整数部)には,入力された値が正のとき "20H"(スペース)を格納し,
負のとき "2DH"()を格納します。
(c) 小数部の 6 桁目以降は,四捨五入されます。
d
○
全桁数(13桁)
s
○
-12.345678
7
-
1 . 2 3 4 5 6 7 8 E + 0 1
小数部桁数(5桁)
単精度実数型
四捨五入されます。
(d) 有効桁数が少ない場合は,小数部に "30H"(0) を格納します。
d
○
全桁数(13桁)
s
○
-12.34
-
1 . 2 3 4 0 0 E + 0 1
30H(O)になります。
単精度実数型
小数部桁数(5桁)
(e) 符号データ(指数部)には,指数が正のとき "2BH"(+)を格納し,負のとき "2DH"
()を格納します。
(f) 指数部が 1 桁の場合は,指数部十の位へ "30H"(0) を格納します。
d
○
全桁数(13桁)
指数部桁数(2桁)
s
○
-12.3456
-
単精度実数型
1 . 2 3 4 5 6 E + 0 1
30H(O)になります。
(3) 文字列の最後(7 ワード目)には,SM701( 出力文字数切換 ) が OFF の場合,"00H" を格
納します。
s への入力値を設定する場合,丸め誤差が発生する場合があり
(4) プログラミングツールから ○
ます。プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F
構造化プログラミングマニュアル(基礎編)を参照してください。
5-52
5.1 型変換関数
5.1.19 単精度実数型→文字列型変換
REAL_TO_STR(_E)
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
演算結果
d
d2
演算エラーなし
演算出力値
演算エラーあり
不定値
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE(演算エラーなし)
FALSE(演算停止)
FALSE
d
d2
*1
演算出力値
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
REAL_TO_STR(_E)
応用関数
5
5.1 型変換関数
5.1.19 単精度実数型→文字列型変換
5-53
REAL_TO_STR(_E)
エラー
下記の場合は演算エラーとなります。
• 入力された値が -3.4028238 ∼ -1.1754938,0,または 1.1754938 ∼ 3.4028238 以
外のとき。 ( エラーコード 4100)
プログラム例
s に入力された単精度実数型のデータを,文字列型(指数型式)のデータに変換して ○
d から出
○
力するプログラム。
(a) EN/ENO なし関数 (REAL_TO_STR)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1:= REAL_TO_STR(g_real1);
(b) EN/ENO 付き関数 (REAL_TO_STR_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := REAL_TO_STR_E(g_bool1, g_real1, g_string1);
5-54
5.1 型変換関数
5.1.19 単精度実数型→文字列型変換
WORD_TO_BOOL(_E),DWORD_TO_BOOL(_E)
5.1.20
ワード[符号なし]/ ビット列[16 ビット]型,ダブル
ワード[符号なし]/ ビット列[32 ビット]型→ビット型
変換
WORD_TO_BOOL(_E),DWORD_TO_BOOL(_E)
Basic
WORD_TO_BOOL(_E)
DWORD_TO_BOOL(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
WORD_TO_BOOL
WORD_TO_BOOL_E
DWORD_TO_BOOL DWORD_TO_BOOL_E
WORD_TO_BOOL_E
EN
ENO:= WORD_TO_BOOL_E (EN, s, d);
ENO
s
d
5
入力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_WORD,_DWORD): 入力
: ワード [ 符号なし ]/ ビット列 [16 ビット ],
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ビット
WORD_TO_BOOL(_E),
DWORD_TO_BOOL(_E)
応用関数
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
出力引数 ,
機 能
演算処理
(1) WORD_TO_BOOL, WORD_TO_BOOL_E
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,ビット型の
○
d から出力します。
データに変換して ○
入力値が 0H の場合は,FALSE を出力します。
入力値が 0H 以外の場合は,TRUE を出力します。
s
○
d
○
0H
FALSE
1567H
TRUE
ワード[符号なし]/ビット列[16ビット]型
ビット型
5.1 型変換関数
5.1.20 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列[32
5-55
WORD_TO_BOOL(_E),DWORD_TO_BOOL(_E)
(2) DWORD_TO_BOOL, DWORD_TO_BOOL_E
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,ビット
○
d から出力します。
型のデータに変換して ○
入力値が 0H の場合は,FALSE を出力します。
入力値が 0H 以外の場合は,TRUE を出力します。
s
○
d
○
0H
FALSE
12345678H
TRUE
ダブルワード[符号なし]/ビット列[32ビット]型
ビット型
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
5-56
5.1 型変換関数
5.1.20 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列[32 ビッ
WORD_TO_BOOL(_E),DWORD_TO_BOOL(_E)
エラー
WORD_TO_BOOL(_E),DWORD_TO_BOOL(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,ビット型の
(1) ○
d から出力するプログラム。
データに変換して ○
(a) EN/ENO なし関数 (WORD_TO_BOOL)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool1:= WORD_TO_BOOL(g_word1);
(b) EN/ENO 付き関数 (WORD_TO_BOOL_E)
〔構造化ラダ ―/FBD〕
5
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,ビット
(2) ○
d から出力するプログラム。
型のデータに変換して ○
(a) EN/ENO なし関数 (DWORD_TO_BOOL)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool1:= DWORD_TO_BOOL(g_dword1);
5.1 型変換関数
5.1.20 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列[32
5-57
WORD_TO_BOOL(_E),
DWORD_TO_BOOL(_E)
応用関数
〔ST〕
g_bool3 := WORD_TO_BOOL_E(g_bool1, g_word1, g_bool2);
WORD_TO_INT(_E),WORD_TO_DINT(_E)
5.1.21
ワード[符号なし]/ ビット列[16 ビット]型→ワード
[符号付き]型,ダブルワード[符号付き]型変換
WORD_TO_INT(_E),WORD_TO_DINT(_E)
Basic
WORD_TO_INT(_E)
WORD_TO_DINT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
WORD_TO_INT
WORD_TO_INT_E
WORD_TO_DINT
WORD_TO_DINT_E
WORD_TO_INT_E
EN
ENO:= WORD_TO_INT_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_WORD):
入力
: ワード[符号なし]/ ビット列[16 ビット]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
機 能
演算処理
(1) WORD_TO_INT, WORD_TO_INT_E
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,ワード [ 符号
○
d から出力します。
付き ] 型のデータに変換して ○
5-58
s
○
d
○
5678H
22136
ワード[符号なし]/ビット列[16ビット]型
ワード[符号付き]型
5.1 型変換関数
5.1.21 ワード[符号なし]/ ビット列[16 ビット]型→ワード [符号付き]型,ダブルワード[符号付
WORD_TO_INT(_E),WORD_TO_DINT(_E)
(2) WORD_TO_DINT, WORD_TO_DINT_E
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,ダブルワード
○
d から出力します。
[ 符号付き ] 型のデータに変換して ○
s
○
d
○
5678H
22136
ワード[符号なし]/ビット列[16ビット]型
ダブルワード[符号付き]型
5678H
0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0
22136
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0
データ変換
データ変換後, 上位16ビットは
0になります。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
5
WORD_TO_INT(_E),
WORD_TO_DINT(_E)
応用関数
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5.1 型変換関数
5.1.21 ワード[符号なし]/ ビット列[16 ビット]型→ワード [符号付き]型,ダブルワード[符号
5-59
WORD_TO_INT(_E),WORD_TO_DINT(_E)
エラー
WORD_TO_INT(_E),WORD_TO_DINT(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,ワード [ 符号
(1) ○
d から出力するプログラム。
付き ] 型のデータに変換して ○
(a) EN/ENO なし関数 (WORD_TO_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int1:= WORD_TO_INT(g_word1);
(b) EN/ENO 付き関数 (WORD_TO_INT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := WORD_TO_INT_E(g_bool1, g_word1, g_int1);
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,ダブルワード
(2) ○
d から出力するプログラム。
[ 符号付き ] 型のデータに変換して ○
(a) EN/ENO なし関数 (WORD_TO_DINT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint1:= WORD_TO_DINT(g_word1);
5-60
5.1 型変換関数
5.1.21 ワード[符号なし]/ ビット列[16 ビット]型→ワード [符号付き]型,ダブルワード[符号付
DWORD_TO_INT(_E),DWORD_TO_DINT(_E)
5.1.22
ダブルワード[符号なし]/ ビット列[32 ビット]型→
ワード[符号付き]型,ダブルワード[符号付き]型変換
DWORD_TO_INT(_E),DWORD_TO_DINT(_E)
Basic
DWORD_TO_INT(_E)
DWORD_TO_DINT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
DWORD_TO_INT
DWORD_TO_INT_E
DWORD_TO_DINT
DWORD_TO_DINT_E
DWORD_TO_INT_E
EN
ENO:= DWORD_TO_INT_E (EN, s, d);
ENO
s
d
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_DWORD):
入力
: ダブルワード[符号なし]/ ビット列[32 ビット]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
応用関数
出力引数 ,
5
EN:
機 能
演算処理
(1) DWORD_TO_INT, DWORD_TO_INT_E
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,ワード
○
d から出力します。
[ 符号付き ] 型のデータに変換して ○
s
○
d
○
BC614EH
24910
ダブルワード[符号なし]/ビット列[32ビット]型
ワード[符号付き]型
BC614EH
0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0
24910
0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0
上位16ビットの情報は切り捨てられます。
5.1 型変換関数
5.1.22 ダブルワード[符号なし]/ ビット列[32 ビット]型→ワード[符号付き]型,ダブルワード
5-61
DWORD_TO_INT(_E),
DWORD_TO_DINT(_E)
入力引数 ,
DWORD_TO_INT(_E),DWORD_TO_DINT(_E)
(2) DWORD_TO_DINT, DWORD_TO_DINT_E
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,ダブル
○
d から出力します。
ワード [ 符号付き ] 型のデータに変換して ○
s
○
d
○
BC614EH
12345678
ダブルワード[符号なし]/ビット列[32ビット]型
ダブルワード[符号付き]型
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
s から入力されたダブルワード [ 符号なし ]/
DWORD_TO_INT(_E) を実行時,○
ビット列 [32 ビット ] 型データ値の下位 16 ビットの値のみワード [ 符号付き ]
型のデータに変換されます。上位 16 ビットの情報は切り捨てられます。
5-62
5.1 型変換関数
5.1.22 ダブルワード[符号なし]/ ビット列[32 ビット]型→ワード[符号付き]型,ダブルワード
DWORD_TO_INT(_E),DWORD_TO_DINT(_E)
エラー
DWORD_TO_INT(_E),DWORD_TO_DINT(_E) での演算エラーはありません。
プログラム例
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,ワード
(1) ○
d から出力するプログラム。
[ 符号付き ] 型のデータに変換して ○
(a) EN/ENO なし関数 (DWORD_TO_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int1:= DWORD_TO_INT(g_dword1);
(b) EN/ENO 付き関数 (DWORD_TO_INT_E)
〔構造化ラダ ―/FBD〕
5
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,ダブル
(2) ○
d から出力するプログラム。
ワード [ 符号付き ] 型のデータに変換して ○
(a) EN/ENO なし関数 (DWORD_TO_DINT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint1:= DWORD_TO_DINT(g_dword1);
5.1 型変換関数
5.1.22 ダブルワード[符号なし]/ ビット列[32 ビット]型→ワード[符号付き]型,ダブルワード
5-63
DWORD_TO_INT(_E),
DWORD_TO_DINT(_E)
応用関数
〔ST〕
g_bool3 := DWORD_TO_INT_E(g_bool1, g_dword1, g_int1);
WORD_TO_DWORD(_E)
5.1.23
ワード[符号なし]/ ビット列[16 ビット]型→ダブル
ワード[符号なし]/ ビット列[32 ビット]型変換
WORD_TO_DWORD(_E)
Basic
WORD_TO_DWORD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
WORD_TO_DWORD
WORD_TO_DWORD_E
WORD_TO_DWORD_E
EN
ENO:= WORD_TO_DWORD_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_WORD):
入力
: ワード[符号なし]/ ビット列[16 ビット]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ダブルワード[符号なし]/ ビット列[32 ビット]
機 能
演算処理
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,ダブルワード [ 符
○
d から出力します。
号なし ]/ ビット列 [32 ビット ] 型のデータに変換して ○
データ変換後,上位 16 ビットは 0 となります。
s
○
d
○
5678H
00005678H
ワード[符号なし]/ビット列[16ビット]型
5-64
ダブルワード[符号なし]/ビット列[32ビット]型
5.1 型変換関数
5.1.23 ワード[符号なし]/ ビット列[16 ビット]型→ダブルワード[符号なし]/ ビット列[32 ビッ
WORD_TO_DWORD(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
WORD_TO_DWORD(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,ダブルワード [ 符
○
d から出力するプログラム。
号なし ]/ ビット列 [32 ビット ] 型のデータに変換して ○
(a) EN/ENO なし関数 (WORD_TO_DWORD)
5
応用関数
〔構造化ラダ ―/FBD〕
WORD_TO_DWORD(_E)
〔ST〕
g_dword1:= WORD_TO_DWORD(g_word1);
(b) EN/ENO 付き関数 (WORD_TO_DWORD_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := WORD_TO_DWORD_E(g_bool1, g_word1, g_dword1);
5.1 型変換関数
5.1.23 ワード[符号なし]/ ビット列[16 ビット]型→ダブルワード[符号なし]/ ビット列[32
5-65
DWORD_TO_WORD(_E)
5.1.24
ダブルワード[符号なし]/ ビット列[32 ビット]型→
ワード[符号なし]/ ビット列[16 ビット]型変換
DWORD_TO_WORD(_E)
Basic
DWORD_TO_WORD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
DWORD_TO_WORD
DWORD_TO_WORD_E
DWORD_TO_WORD_E
EN
ENO:= DWORD_TO_WORD_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_DWORD):
入力
: ダブルワード[符号なし]/ ビット列[32 ビット]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード[符号なし]/ ビット列[16 ビット]
機 能
演算処理
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,ワード [ 符
○
d から出力します。
号なし ]/ ビット列 [16 ビット ] 型のデータに変換して ○
s
○
d
○
12345678H
5678H
ダブルワード[符号なし]/ビット列[32ビット]型 ワード[符号なし]/ビット列[16ビット]型
1
2
3
4
5
6
7
8
12345678H
0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0
5678H
0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0
上位16ビットの情報は切り捨てられます。
5-66
5.1 型変換関数
5.1.24 ダブルワード[符号なし]/ ビット列[32 ビット]型→ワード[符号なし]/ ビット列[16 ビッ
DWORD_TO_WORD(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
s から入力されたダブルワード [ 符号なし ]/
DWORD_TO_WORD(_E) を実行時,○
ビット列 [32 ビット ] 型データ値の下位 16 ビットの値のみワード [ 符号なし ]/
ビット列 [16 ビット ] 型のデータに変換されます。
上位 16 ビットの情報は切り捨てられます。
DWORD_TO_WORD(_E)
応用関数
5
5.1 型変換関数
5.1.24 ダブルワード[符号なし]/ ビット列[32 ビット]型→ワード[符号なし]/ ビット列[16
5-67
DWORD_TO_WORD(_E)
エラー
DWORD_TO_WORD(_E) での演算エラーはありません。
プログラム例
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,ワード [ 符
○
d から出力するプログラム。
号なし ]/ ビット列 [16 ビット ] 型のデータに変換して ○
(a) EN/ENO なし関数 (DWORD_TO_WORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_word1:= DWORD_TO_WORD(g_dword1);
(b) EN/ENO 付き関数 (DWORD_TO_WORD_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := DWORD_TO_WORD_E(g_bool1, g_dword1, g_word1);
5-68
5.1 型変換関数
5.1.24 ダブルワード[符号なし]/ ビット列[32 ビット]型→ワード[符号なし]/ ビット列[16 ビッ
WORD_TO_STR(_E),DWORD_TO_STR(_E)
5.1.25
ワード[符号なし]/ ビット列[16 ビット]型,ダブル
ワード[符号なし]/ ビット列[32 ビット]型→文字列型
変換
WORD_TO_STR(_E),DWORD_TO_STR(_E)
Basic
WORD_TO_STR(_E)
DWORD_TO_STR(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
WORD_TO_STR
WORD_TO_STR_E
DWORD_TO_STR
DWORD_TO_STR_E
WORD_TO_STR_E
EN
ENO:= WORD_TO_STR_E (EN, s, d);
ENO
s
d
5
入力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_WORD, _DWORD):
入力
: ワード [ 符号なし ]/ ビット列 [16 ビット ],
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 文字列 (4)/(8)
WORD_TO_STR(_E),
DWORD_TO_STR(_E)
応用関数
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
出力引数 ,
機 能
演算処理
(1) WORD_TO_STR, WORD_TO_STR_E
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,文字列型
(a) ○
d から出力します。
のデータに変換して ○
s
○
d
○
0H
‘0’
1567H
‘ 1567 ’
ワード[符号なし]/ビット列[16ビット]型
文字列型
(b) SM701(出力文字数切換)が OFF の場合,文字列の最後に "00H" を格納します。
5.1 型変換関数
5.1.25 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列[32
5-69
WORD_TO_STR(_E),DWORD_TO_STR(_E)
(2) DWORD_TO_STR, DWORD_TO_STR_E
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,文
(a) ○
d から出力します。
字列型のデータに変換して ○
s
○
d
○
0H
‘0’
12345678H
‘ 12345678 ’
ダブルワード[符号なし]/ビット列[32ビット]型
文字列型
(b) SM701(出力文字数切換)が OFF の場合,文字列の最後に "00H" を格納します。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-70
5.1 型変換関数
5.1.25 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列[32 ビッ
WORD_TO_STR(_E),DWORD_TO_STR(_E)
エラー
WORD_TO_STR(_E),DWORD_TO_STR(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,文字列型の
(1) ○
d から出力するプログラム。
データに変換して ○
(a) EN/ENO なし関数 (WORD_TO_STR)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 := WORD_TO_STR (g_word1);
(b) EN/ENO 付き関数 (WORD_TO_STR_E)
〔構造化ラダ ―/FBD〕
5
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,文字列
(2) ○
d から出力するプログラム。
型のデータに変換して ○
(a) EN/ENO なし関数 (DWORD_TO_STR)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1:= DWORD_TO_STR (g_dword1);
5.1 型変換関数
5.1.25 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列[32
5-71
WORD_TO_STR(_E),
DWORD_TO_STR(_E)
応用関数
〔ST〕
g_bool3 := WORD_TO_STR_E (g_bool1, g_word1, g_string1);
WORD_TO_TIME(_E),DWORD_TO_TIME(_E)
5.1.26
ワード[符号なし]/ ビット列[16 ビット]型,ダブル
ワード[符号なし]/ ビット列[32 ビット]型→時間型変
換
WORD_TO_TIME(_E),DWORD_TO_TIME(_E)
Basic
WORD_TO_TIME(_E)
DWORD_TO_TIME(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
WORD_TO_TIME
WORD_TO_ TIME _E
DWORD_TO_TIME
DWORD_TO_ TIME _E
WORD_TO_TIME_E
EN
ENO:= WORD_TO_TIME_E (EN, s, d);
ENO
s
d
入力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_WORD, _DWORD):
入力
: ワード [ 符号なし ]/ ビット列 [16 ビット ],
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 時間
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
出力引数 ,
機 能
演算処理
(1) WORD_TO_TIME, WORD_TO_TIME_E
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,時間型のデー
○
d から出力します。
タに変換して ○
5-72
s
○
d
○
0H
T#0ms
1234H
T#1s234ms
ワード[符号なし]/ビット列[16ビット]型
時間型
5.1 型変換関数
5.1.26 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列[32 ビッ
WORD_TO_TIME(_E),DWORD_TO_TIME(_E)
(2) DWORD_TO_TIME, DWORD_TO_TIME_E
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,時間型
○
d から出力します。
のデータに変換して ○
s
○
d
○
0H
T#0ms
1234567H
T#20m34s567ms
ダブルワード[符号なし]/ビット列[32ビット]型
時間型
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
WORD_TO_TIME(_E),
DWORD_TO_TIME(_E)
応用関数
5
5.1 型変換関数
5.1.26 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列[32
5-73
WORD_TO_TIME(_E),DWORD_TO_TIME(_E)
エラー
WORD_TO_TIME(_E),DWORD_TO_TIME(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,時間型のデー
(1) ○
d から出力するプログラム。
タに変換して ○
(a) EN/ENO なし関数 (WORD_TO_TIME)
〔構造化ラダ ―/FBD〕
〔ST〕
g_time1 := WORD_TO_TIME (g_word1);
(b) EN/ENO 付き関数 (WORD_TO_TIME_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := WORD_TO_TIME_E (g_bool1, g_word1, g_time1);
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,時間型
(2) ○
d から出力するプログラム。
のデータに変換して ○
(a) EN/ENO なし関数 (DWORD_TO_TIME)
〔構造化ラダ ―/FBD〕
〔ST〕
g_time1 := DWORD_TO_TIME (g_dword1)
5-74
5.1 型変換関数
5.1.26 ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列[32 ビッ
STR_TO_BOOL(_E)
5.1.27
文字列型→ビット型変換
STR_TO_BOOL(_E)
Basic
STR_TO_BOOL(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
STR_TO_BOOL
STR_TO_BOOL_E
STR_TO_BOOL_E
EN
ENO:= STR_TO_BOOL_E (EN, s, d);
ENO
s
d
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_STRING):
入力
: 文字列 (1)
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ビット
5
応用関数
入力引数 ,
機 能
STR_TO_BOOL(_E)
演算処理
s に入力された文字列型のデータを,ビット型のデータに変換して ○
d から出力します。
○
入力値が ‘0’ の場合は,FALSE を出力します。
入力値が ‘0’ 以外の場合は,TRUE を出力します。
s
○
d
○
‘0’
FALSE
‘ 1’
TRUE
文字列型
ビット型
5.1 型変換関数
5.1.27 文字列型→ビット型変換
5-75
STR_TO_BOOL(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
STR_TO_BOOL(_E) での演算エラーはありません。
プログラム例
s に入力された文字列型のデータを,ビット型のデータに変換して ○
d から出力するプログラ
○
ム。
(a) EN/ENO なし関数 (STR_TO_BOOL)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool1 := STR_TO_BOOL (g_string1);
(b) EN/ENO 付き関数 (STR_TO_BOOL_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := STR_TO_BOOL_E (g_bool1, g_string1, g_bool2);
5-76
5.1 型変換関数
5.1.27 文字列型→ビット型変換
STR_TO_INT(_E),STR_TO_DINT(_E)
5.1.28
文字列型→ワード[符号付き]型,ダブルワード[符号付
き]型変換
STR_TO_INT(_E),STR_TO_DINT(_E)
High
performance
Basic
STR_TO_INT(_E)
STR_TO_DINT(_E)
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
STR_TO_INT
STR_TO_INT_E
STR_TO_DINT
STR_TO_DINT_E
STR_TO_INT_E
EN
ENO:= STR_TO_INT_E (EN, s, d);
ENO
s
d
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_STRING):
入力
: 文字列 (6)/(11)
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
応用関数
出力引数 ,
5
EN:
機 能
演算処理
(1) STR_TO_INT, STR_TO_INT_E
s に入力された文字列型のデータを,ワード [ 符号付き ] 型のデータに変換して ○
d か
(a) ○
ら出力します。
s
○
上位バイト
文字列 1ワード目 万の位のアスキーコード
下位バイト
符
号
デ
ー
タ
d
○
2ワード目 百の位のアスキーコード 千の位のアスキーコード
3ワード目 一の位のアスキーコード 十の位のアスキーコード
4ワード目
00H(文字列の最終を示します。)
ワード[符号付き]型
s への入力値は,文字列型のデータ値で下記に示す範囲内です。
(b) ○
アスキーコードで "30H" ∼ "39H","20H","2DH","00H" の範囲。
文字列型のデータ値で "32768" ∼ "32767" の範囲。
5.1 型変換関数
5.1.28 文字列型→ワード[符号付き]型,ダブルワード[符号付き]型変換
5-77
STR_TO_INT(_E),
STR_TO_DINT(_E)
入力引数 ,
STR_TO_INT(_E),STR_TO_DINT(_E)
(2) STR_TO_DINT, STR_TO_DINT_E
s に入力された文字列型のデータを,ダブルワード [ 符号付き ] 型のデータに変換し
(a) ○
d から出力します。
て○
上位バイト
s
○
下位バイト
文字列 1ワード目 十億の位のアスキーコード
2ワード目 千万の位のアスキーコード
符
号
デ
ー
タ
d
○
億の位のアスキーコード
3ワード目 十万の位のアスキーコード 百万の位のアスキーコード
4ワード目
千の位のアスキーコード
万の位のアスキーコード
5ワード目
十の位のアスキーコード
百の位のアスキーコード
6ワード目
00H
一の位のアスキーコード
ダブルワード[符号付き]型
(文字列の最終を示します。)
s への入力値は,文字列型のデータ値で下記に示す範囲内です。
(b) ○
アスキーコードで "30H" ∼ "39H","20H","2DH","00H" の範囲。
文字列型のデータ値で 2147483648 ∼ 2147483647 の範囲。
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
演算結果
d
d2
演算エラーなし
演算出力値
演算エラーあり
不定値
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE(演算エラーなし)
FALSE(演算停止)
FALSE
d
d2
*1
演算出力値
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-78
5.1 型変換関数
5.1.28 文字列型→ワード[符号付き]型,ダブルワード[符号付き]型変換
STR_TO_INT(_E),STR_TO_DINT(_E)
エラー
下記の場合には演算エラーとなります。
• 入力された値がアスキーコードで "30H" ∼ "39H","20H","2DH","00H" 以外のとき。
(エラーコード 4100)
• 入力された値がアスキーコードで下記の示す範囲外のとき。
STR_TO_INT(_E):32768 ∼ 32767
STR_TO_DINT(_E):2147483648 ∼ 2147483647
(エラーコード 4100)
プログラム例
s に入力された文字列型のデータを,ワード [ 符号付き ] 型のデータに変換して ○
d から出
(1) ○
力するプログラム。
(a) EN/ENO なし関数 (STR_TO_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int1 := STR_TO_INT (g_string1);
5
(b) EN/ENO 付き関数 (STR_TO_INT_E)
STR_TO_INT(_E),
STR_TO_DINT(_E)
応用関数
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := STR_TO_INT_E (g_bool1, g_string1, g_int1);
s に入力された文字列型のデータを,ダブルワード [ 符号付き ] 型のデータに変換して
(2) ○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (STR_TO_DINT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint1 := STR_TO_DINT (g_string1);
5.1 型変換関数
5.1.28 文字列型→ワード[符号付き]型,ダブルワード[符号付き]型変換
5-79
STR_TO_REAL(_E)
5.1.29
文字列型→単精度実数型変換
STR_TO_REAL(_E)
Ver.
Basic
High
performance
Process Redundant Universal
LCPU
シリアル No. の上 5 桁が “04122” 以降のベーシックモデル QCPU で使用可能。
STR_TO_REAL(_E)
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
STR_TO_REAL
STR_TO_REAL_E
STR_TO_REAL_E
EN
ENO:= STR_TO_REAL_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_STRING):
入力
: 文字列 (24)
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 単精度実数
機 能
演算処理
s に入力された文字列型(小数点型式/指数型式)のデータを,単精度実数型のデータに
(1) ○
d から出力します。
変換して ○
上位バイト
s
○
文字列 1ワード目 1文字目のアスキーコード
下位バイト
符 号 デ ー タ
2ワード目 3文字目のアスキーコード
2文字目のアスキーコード
3ワード目 5文字目のアスキーコード
4文字目のアスキーコード
4ワード目 7文字目のアスキーコード
6文字目のアスキーコード
5ワード目 9文字目のアスキーコード
8文字目のアスキーコード
6ワード目 11文字目のアスキーコード 10文字目のアスキーコード
7ワード目
5-80
00H(文字列の最終を示します。)
5.1 型変換関数
5.1.29 文字列型→単精度実数型変換
d
○
単精度実数型
STR_TO_REAL(_E)
(2) 文字列型データは,小数点型式,指数型式どちらも変換できます。
(a) 小数点型式の場合
上位バイト
s
○
下位バイト
文字列 1ワード目
31H(1)
2DH(-)
2ワード目
33H(3)
2EH(.)
3ワード目
30H(0)
35H(5)
d
○
4ワード目
34H(4)
33H(3)
-1.35034
00H
5ワード目
単精度実数型
- 1 . 3 5 0 3 4
(b) 指数型式の場合
上位バイト
s
○
下位バイト
文字列 1ワード目
31H(1)
2DH(-)
2ワード目
33H(3)
2EH(.)
3ワード目
30H(0)
35H(5)
d
○
4ワード目
34H(4)
33H(3)
-1.35034E-10
5ワード目
2DH(-)
45H(E)
6ワード目
30H(0)
31H(1)
7ワード目
単精度実数型
00H
- 1 . 3 5 0 3 4 E - 1 0
(3) 文字列型データは,符号,小数点,指数部を除いて 6 桁が有効となり,7 桁目以降はカッ
トされて変換されます。
5
(a) 小数点型式の場合
- 1 . 3 5 0 3 4 1 2 0 2 3
-1.35034
単精度実数型
(b) 指数型式の場合
- 1 . 3 5 0 3 4 1 2 E - 1 0
-1.35034E-10
単精度実数型
カットされます。
(4) 小数点型式で符号に "2BH"(+)を指定するか,符号を省略すると正の値として変換しま
す。また,符号に "2DH"()を指定すると負の値として変換します。
(5) 指数型式で指数部の符号に "2BH"(+)を指定するか,符号を省略すると正の値として変
換します。
指数部の符号に "2DH"()を指定すると負の値として変換します。
5.1 型変換関数
5.1.29 文字列型→単精度実数型変換
5-81
STR_TO_REAL(_E)
応用関数
カットされます。
STR_TO_REAL(_E)
(6) 文字列型データで,最初の "0" 以外の数値の前に "20H"(スペース)または "30H"(0) が存
在する場合は,"20H","30H" を無視して変換します。
(a) 小数点型式の場合
-
-1.35034
0 1 . 3 5 0 3 4
単精度実数型
無視されます。
(b) 指数型式の場合
-
-1.35034E-10
0 1 . 3 5 0 3 4 E - 1 0
単精度実数型
無視されます。
(7) 文字列型データ(指数型式)で "E" と数値の間に "30H(0)" が存在する場合は "30H" を無
視して変換します。
- 1 . 3 5 0 3 4 E - 0 2
-1.35034E-2
単精度実数型
無視されます。
(8) 文字列中に "20H"(スペース)が含まれていた場合は,"20H" を無視して変換します。
(9) 文字列型データは,最大 24 文字まで入力できます。
文字列中の "20H"(スペース),"30H"(0) も 1 文字としてカウントします。
s への入力値は,文字列型のデータ値で下記に示す範囲内です。
(10) ○
アスキーコードで "30H" ∼ "39H","45H","2BH","2DH","2EH","20H","00H" の範
囲。
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
演算結果
d
d2
演算エラーなし
演算出力値
演算エラーあり
不定値
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d
d2
TRUE(演算実行)
TRUE(演算エラーなし)
演算出力値
FALSE(演算停止)
FALSE
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-82
5.1 型変換関数
5.1.29 文字列型→単精度実数型変換
STR_TO_REAL(_E)
エラー
下記の場合には演算エラーとなります。
• 整数部,小数部に "30H" ∼ "39H" 以外の文字があるとき。
(エラーコード 4100)
• 2EH が 2 つ以上あるとき。
(エラーコード 4100)
• 指数部に "45H"(E),"2BH"(+),"2DH"() 以外の文字があるとき,または指数部が複数
あるとき。
(エラーコード 4100)
• 変換後のデータが -3.4028238 ∼ -1.1754938,0,または 1.1754938 ∼ 3.4028238
以外のとき。
(エラーコード 4100)
• 文字数が0,または 24 文字を超えているとき。
(エラーコード 4100)
プログラム例
s に入力された文字列型のデータを,単精度実数型のデータに変換して ○
d から出力するプログ
○
ラム。
(a) EN/ENO なし関数 (STR_TO_REAL)
〔構造化ラダ ―/FBD〕
5
応用関数
〔ST〕
g_real1 := STR_TO_REAL (g_string1);
(b) EN/ENO 付き関数 (STR_TO_REAL_E)
STR_TO_REAL(_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := STR_TO_REAL_E (g_bool1, g_string1, g_real1);
5.1 型変換関数
5.1.29 文字列型→単精度実数型変換
5-83
STR_TO_WORD(_E),STR_TO_DWORD(_E)
5.1.30
文字列型→ワード[符号なし]/ ビット列[16 ビット]
型,ダブルワード[符号なし]/ ビット列[32 ビット]型
変換
STR_TO_WORD(_E),STR_TO_DWORD(_E)
Basic
STR_TO_WORD(_E)
STR_TO_DWORD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
STR_TO_WORD
STR_TO_WORD_E
STR_TO_DWORD
STR_TO_DWORD_E
STR_TO_WORD_E
EN
ENO:= STR_TO_WORD_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_STRING):
入力
: 文字列 (4)/(8)
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード [ 符号なし ]/ ビット列 [16 ビット ],
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
機 能
演算処理
(1) STR_TO_WORD, STR_TO_WORD_E
s に入力された文字列型のデータを,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型の
○
d から出力します。
データに変換して ○
5-84
s
○
d
○
‘0000’
0H
‘0012’
12H
文字列型
ワード[符号なし]/ビット列[16ビット]型
5.1 型変換関数
5.1.30 文字列型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット
STR_TO_WORD(_E),STR_TO_DWORD(_E)
(2) STR_TO_DWORD, STR_TO_DWORD_E
s に入力された文字列型のデータを,ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
○
d から出力します。
型のデータに変換して ○
s
○
d
○
‘00000000’
0H
‘00000012’
12H
文字列型
ダブルワード[符号なし]/ビット列[32ビット]型
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
STR_TO_WORD(_E),
STR_TO_DWORD(_E)
応用関数
5
5.1 型変換関数
5.1.30 文字列型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット
5-85
STR_TO_WORD(_E),STR_TO_DWORD(_E)
エラー
本関数は,下記の共通命令を使用して作られています。
STR_TO_WORD(_E) : HABIN
STR_TO_DWORD(_E) : DHABIN
次の場合には演算エラーとなり,エラーフラグ(SM0)が ON し,エラーコードが SD0
に格納されます。
s の各桁のアスキーコードが,30H ∼ 39H,41H ∼ 46H 以外のとき。
• ○
(エラーコード:4100)
s で指定されたデバイスが該当デバイスの範囲を超えるとき。
• ○
(ユニバーサルモデル QCPU,LCPU の場合)
(エラーコード:4101)
プログラム例
s に入力された文字列型のデータを,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型の
(1) ○
d から出力するプログラム。
データに変換して ○
(a) EN/ENO なし関数 (STR_TO_WORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 :="0012"
g_word1 := STR_TO_WORD (g_string1);
(b) EN/ENO 付き関数 (STR_TO_WORD_E)
〔構造化ラダ ―/FBD〕
〔
〔ST〕
g_string1 :="0012";
g_bool3 := STR_TO_WORD_E(g_bool1, g_string1, g_word1);
5-86
5.1 型変換関数
5.1.30 文字列型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット
STR_TO_WORD(_E),STR_TO_DWORD(_E)
s に入力された文字列型のデータを,ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
(2) ○
d から出力プログラム。
型のデータに変換して ○
(a) EN/ENO なし関数 (STR_TO_DWORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 :="00000012";
g_dword1 := STR_TO_DWORD (g_string1);
STR_TO_WORD(_E),
STR_TO_DWORD(_E)
応用関数
5
5.1 型変換関数
5.1.30 文字列型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット
5-87
STR_TO_TIME(_E)
5.1.31
文字列型→時間型変換
STR_TO_TIME(_E)
Basic
STR_TO_TIME(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
STR_TO_TIME
STR_TO_ TIME _E
STR_TO_TIME_E
EN
ENO:= STR_TO_TIME_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_STRING):
入力
: 文字列 (11)
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 時間
機 能
演算処理
s に入力された文字列型のデータを,時間型のデータに変換して ○
d から出力します。
○
5-88
s
○
d
○
‘00000000’
0ms
‘01234567’
T#20m34s567ms
文字列型
時間型
5.1 型変換関数
5.1.31 文字列型→時間型変換
STR_TO_TIME(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
本関数は,下記の共通命令を使用して作られています。
STR_TO_TIME(_E) : DDABIN
次の場合には演算エラーとなり,エラーフラグ(SM0)が ON し,エラーコードが SD0
に格納されます。
s の各桁のアスキーコードが,30H ∼ 39H,20H,00H 以外のとき。
• ○
(エラーコード:4100)
5
応用関数
(エラーコード:4100)
STR_TO_TIME(_E)
s のアスキーデータが下記範囲外のとき。
• ○
-2147483648 ∼ 4147483647
5.1 型変換関数
5.1.31 文字列型→時間型変換
5-89
STR_TO_TIME(_E)
プログラム例
s に入力された文字列型のデータを,時間型のデータに変換して ○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (STR_TO_TIME)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 :="01234567";
g_time1 := STR_TO_TIME (g_string1);
(b) EN/ENO 付き関数 (STR_TO_TIME_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 :="01234567";
g_bool3 := STR_TO_TIME_E (g_bool1, g_string1, g_time1);
5-90
5.1 型変換関数
5.1.31 文字列型→時間型変換
STR_TO_BCD(_E)
5.1.32
文字列型→ BCD 型変換
STR_TO_BCD(_E)
Basic
STR_TO_BCD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
STR_TO_BCD
STR_TO_ BCD _E
STR_TO_BCD_E
EN
ENO:= STR_TO_BCD_E (EN, s, d);
ENO
s
d
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_STRING):
入力
: 文字列 (8)
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY_BIT
5
応用関数
入力引数 ,
機 能
(1) 出力引数にワード [ 符号なし ]/ ビット列 [16 ビット ] 型を指定した場合
s に入力された文字列型の 4 文字分のデータを,BCD 型のデータに変換して ○
d から
(a) ○
出力します。
s
○
d
○
‘ 9999 ’
9999H
文字列型
ワード[符号なし]/ビット列[16ビット]型
(b) 文字列中に "20H"(スペース)が含まれていた場合は,"20H" を無視して変換します。
(c) 文字列中の "20H"(スペース),"30H" (0) も 1 文字としてカウントします。
s への入力値は,文字列型のデータ値で下記に示す範囲内です。
(d) ○
アスキーコードで "30H" ∼ "39H","20H","00H" の範囲。
5.1 型変換関数
5.1.32 文字列型→ BCD 型変換
5-91
STR_TO_BCD(_E)
演算処理
STR_TO_BCD(_E)
(e) 入力文字列が 4 文字に満たない場合は,文字列の後ろに 0 を補完した 4 文字で変換し
ます。このため,4 文字に満たない文字列を BCD 変換する場合は,0 パディングした
文字列("1" の場合 "0001")を入力してください。
(f)
文字列が 4 文字を越える場合は,左から4文字が変換対象となります。
入力文字列
変換文字列
出力 (BCD 型)
1000H(4096)
"1"
"1000"
"12"
"1200"
1200H(4608)
"123"
"1230"
1230H(4656)
"1234"
"1234"
1230H(4656)
"12345"
"1234"
1230H(4656)
(2) 出力引数にダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型を指定した場合
s に入力された文字列型の 8 文字分のデータを,BCD 型のデータに変換して ○
d から
(a) ○
出力します。
s
○
d
○
“ 99999999”
99999999H
文字列型
ダブルワード[符号なし]/ビット列[32ビット]型
(b) 文字列中に "20H"(スペース)が含まれていた場合は,"20H" を無視して変換します。
(c) 文字列中の "20H"(スペース),"30H" (0) も 1 文字としてカウントします。
s への入力値は,文字列型のデータ値で下記に示す範囲内です。
(d) ○
アスキーコードで "30H" ∼ "39H","20H","00H" の範囲。
d には,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型,ダブルワード [ 符号なし ]/ ビッ
(3) ○
ト列 [32 ビット ] 型が指定できます。ビット型は指定できません。
d からの出力は,ファンクションおよびオペレータのダブルワード [ 符号なし ]
○
/ ビット列 [32 ビット ] 型の入力に接続して使用できません。この場合は,
DDABCD 命令を使用してください。
5-92
5.1 型変換関数
5.1.32 文字列型→ BCD 型変換
STR_TO_BCD(_E)
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
演算結果
d
d2
演算エラーなし
演算出力値
演算エラーあり
不定値
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE(演算エラーなし)
FALSE(演算停止)
FALSE
d
d2
*1
演算出力値
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
エラー
下記の場合は演算エラーとなります。
• アスキーコードで "30H" ∼ "39H","20H","00H" 以外の範囲の文字列を入力した場合
(エラーコード 4100)
STR_TO_BCD(_E)
応用関数
5
5.1 型変換関数
5.1.32 文字列型→ BCD 型変換
5-93
STR_TO_BCD(_E)
プログラム例
s に入力された文字列型のデータを,BCD 型のデータに変換して ○
d から出力するプログ
(1) ○
ラム。
(a) EN/ENO なし関数 (STR_TO_BCD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1:="0012";
g_word1 := STR_TO_BCD (g_string1);
(b) EN/ENO 付き関数 (STR_TO_BCD_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1:="0012";
g_bool3 := STR_TO_BCD_E (g_bool1, g_string1, g_word1);
5-94
5.1 型変換関数
5.1.32 文字列型→ BCD 型変換
STR_TO_BCD(_E)
s に入力された文字列型のデータを,ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
(2) ○
d から出力するプログラム。
型の BCD 型データに変換して ○
(a) EN/ENO なし関数 (STR_TO_BCD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1:="00000012";
g_dword1:= STR_TO_BCD(g_string1);
(b) EN/ENO 付き関数 (STR_TO_BCD_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1:="00000012";
g_bool3:= STR_TO_BCD_E(g_bool1, g_string1, g_dword1);
STR_TO_BCD(_E)
応用関数
5
5.1 型変換関数
5.1.32 文字列型→ BCD 型変換
5-95
BCD_TO_INT(_E),BCD_TO_DINT(_E)
5.1.33
BCD 型→ワード[符号付き]型,ダブルワード[符号付
き]型変換
BCD_TO_INT(_E),BCD_TO_DINT(_E)
High
performance
Basic
BCD_TO_INT(_E)
BCD_TO_DINT(_E)
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
BCD_TO_INT
BCD_TO_INT_E
BCD_TO_DINT
BCD_TO_DINT_E
BCD_TO_INT_E
EN
ENO:= BCD_TO_INT_E (EN, s, d);
ENO
s
d
入力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_BCD):
入力
: ワード [ 符号なし ]/ ビット列 [16 ビット ],
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
出力引数 ,
機 能
演算処理
(1) BCD_TO_INT, BCD_TO_INT_E
s に入力された BCD 型のデータを,ワード [ 符号付き ] 型のデータに変換して ○
d か
(a) ○
ら出力します。
s
○
d
○
9999H
9999
ワード[符号なし]/ビット列[16ビット]型
ワード[符号付き]型
8000 4000 2000 1000
9999H
1
0
0
1
800
400
200
100
80
40
20
10
8
4
2
1
1
0
0
1
1
0
0
1
1
0
0
1
千の位
百の位
32768 16384 8192 4096 2048 1024
9999
0
0
1
0
0
十の位
INT変換
一の位
512
256
128
64
32
16
8
4
2
1
1
1
0
0
0
0
1
1
1
1
1
必ず0になります。
s への入力値は,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータ値で 0H ∼
(b) ○
9999H(各桁は 0 ∼ 9 の範囲)の範囲内です。
5-96
5.1 型変換関数
5.1.33 BCD 型→ワード[符号付き]型,ダブルワード[符号付き]型変換
BCD_TO_INT(_E),BCD_TO_DINT(_E)
(2) BCD_TO_DINT, BCD_TO_DINT_E
s に入力された BCD 型のデータを,ダブルワード [ 符号付き ] 型のデータに変換し
(a) ○
d から出力します。
て○
s にワード [ 符号なし ]/ ビット列 [16 ビット ] を指定した場合
• ○
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
×100
ダブルワード[符号付き]型
×101
ワード[ 符号なし]/ ビット列[16 ビット] 型
×102
d
○
9999
×103
s
○
9999H
9999H
1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1
千の位
百の位
十の位
一の位
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
29
28
27
26
25
24
23
22
21
20
DINT変換
9999
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 1 1 1
必ず0になります。
s にダブルワード [ 符号なし ]/ ビット列 [32 ビット ] を指定した場合
• ○
×100
×101
×102
×103
5
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
8
4
2
1
×104
ダブルワード[符号付き]型
×105
ダブルワード[符号なし]/ビット列[32ビット]型
×106
d
○
99999999
×107
s
○
99999999H
99999999H
1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1
千万の位 百万の位 十万の位 万の位
千の位
百の位
十の位
一の位
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
29
28
27
26
25
24
23
22
21
20
応用関数
DINT変換
99999999
0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1
s への入力値は,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型データ値で 0H ∼
(b) ○
9999H(各桁は 0 ∼ 9 の範囲),ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型
のデータ値で 0H ∼ 99999999H(各桁は 0 ∼ 9 の範囲)の範囲内です。
d には,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型,ダブルワード [ 符号なし ]/
(c) ○
ビット列 [32 ビット ] 型が指定できます。ビット型は指定できません。
5.1 型変換関数
5.1.33 BCD 型→ワード[符号付き]型,ダブルワード[符号付き]型変換
5-97
BCD_TO_INT(_E),
BCD_TO_DINT(_E)
必ず0になります。
BCD_TO_INT(_E),BCD_TO_DINT(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
本関数は,下記の共通命令を使用して作られています。
BCD_TO_INT(_E) : BIN
BCD_TO_DINT(_E) : BIN, WAND
次の場合には演算エラーとなり,エラーフラグ (SM0) が ON し,エラーコードが SD0 に
格納されます。
s の各桁に 0 ∼ 9 以外の値があるとき。
• ○
(エラーコード:4100)
SM722 を ON しておくことにより,上記エラーを出さないようにすることができます。
なお,範囲外の数値を設定した場合,SM722 の ON/OFF にかかわらず命令は実行さ
れません。
また,BINP/DBINP 命令の場合,エラーの有無にかかわらず指令(実行条件)を OFF
→ ON させるまで次の演算は実行されません。
5-98
5.1 型変換関数
5.1.33 BCD 型→ワード[符号付き]型,ダブルワード[符号付き]型変換
BCD_TO_INT(_E),BCD_TO_DINT(_E)
プログラム例
s に入力された BCD 型のデータを,ワード [ 符号付き ] 型のデータに変換して ○
d から出
(1) ○
力するプログラム。
(a) EN/ENO なし関数 (BCD_TO_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int1 := BCD_TO_INT (g_word1);
(b) EN/ENO 付き関数 (BCD_TO_INT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := BCD_TO_INT_E (g_bool1, g_word1, g_int1);
s に入力された BCD 型のデータを,ダブルワード [ 符号付き ] 型のデータに変換して
(2) ○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (BCD_TO_DINT)
応用関数
5
BCD_TO_INT(_E),
BCD_TO_DINT(_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint1 := BCD_TO_DINT (g_dword1);
5.1 型変換関数
5.1.33 BCD 型→ワード[符号付き]型,ダブルワード[符号付き]型変換
5-99
BCD_TO_STR(_E)
5.1.34
BCD 型→文字列型変換
BCD_TO_STR(_E)
Basic
BCD_TO_STR(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
BCD_TO_STR
BCD_TO_STR_E
BCD_TO_STR_E
EN
ENO:= BCD_TO_STR_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_BCD):
入力
: ANY_BIT
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 文字列 (8)
機 能
演算処理
s に入力された BCD 型のデータを,文字列型のデータに変換して ○
d から出力します。
(1) ○
s にワード [ 符号なし ]/ ビット列 [16 ビット ] を指定した場合
(a) ○
s
○
d
○
9999H
“ 9999 ”
ワード[符号なし]/ビット列[16ビット]型
文字列型
s にダブルワード [ 符号なし ]/ ビット列 [32 ビット ] を指定した場合
(b) ○
s
○
d
○
99999999H
“99999999”
ダブルワード[符号なし]/ビット列[32ビット]型
文字列型
s には,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型,ダブルワード [ 符号なし ]/ ビッ
(2) ○
ト列 [32 ビット ] 型が指定できます。ビット型は指定できません。
(3) SM701( 出力文字数切換 ) が OFF の場合,文字列の最後に "00H" を格納します。
5-100
5.1 型変換関数
5.1.34 BCD 型→文字列型変換
BCD_TO_STR(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
本関数は,下記の共通命令を使用して作られています。
s にワード [ 符号なし ]/ ビット列 [16 ビット ] 型を指定した場合 : BCDDA
○
d にダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型を指定した場合 :DBCDDA
○
次の場合には演算エラーとなり,エラーフラグ (SM0) が ON し,エラーコードが SD0 に
格納されます。
s にダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型を指定した場合に,
s が 0 ∼
○
• ○
99999999 以外のとき。
(エラーコード:4100)
BCD_TO_STR(_E)
d で指定されたデバイスが該当デバイスの範囲を超えるとき。 • ○
(ユニバーサルモデル QCPU,LCPU の場合 )
(エラーコード:4101)
5
応用関数
s にワード[ 符号なし]/ ビット列[16 ビット] 型を指定した場合に,
s が0∼9999以外
○
• ○
のとき。
(エラーコード:4100)
5.1 型変換関数
5.1.34 BCD 型→文字列型変換
5-101
BCD_TO_STR(_E)
プログラム例
s に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータを,文字列型の
(1) ○
d から出力するプログラム。
データに変換して ○
(a) EN/ENO なし関数 (BCD _TO_STR)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 := BCD_TO_STR (g_word1);
(b) EN/ENO 付き関数 (BCD_TO_STR_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := BCD_TO_STR_E (g_bool1, g_word1, g_string1);
s に入力されたダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータを,文字列
(2) ○
d から出力するプログラム。
型のデータに変換して ○
(a) EN/ENO なし関数 (BCD _TO_STR)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 := BCD_TO_STR (g_dword1);
(b) EN/ENO 付き関数 (BCD_TO_STR_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := BCD_TO_STR_E (g_bool1, g_dword1, g_string1);
5-102
5.1 型変換関数
5.1.34 BCD 型→文字列型変換
TIME_TO_BOOL(_E)
5.1.35
時間型→ビット型変換
TIME_TO_BOOL(_E)
Basic
TIME_TO_BOOL(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
TIME_TO_BOOL
TIME_TO_BOOL_E
TIME_TO_BOOL_E
EN
ENO:= TIME_TO_BOOL_E (EN, s, d);
ENO
s
d
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
s(_TIME):
入力
: ビット
: 時間
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ビット
5
応用関数
入力引数 ,
機 能
TIME_TO_BOOL(_E)
演算処理
s に入力された時間型のデータを,ビット型のデータに変換して ○
d から出力します。
○
入力値が 0ms の場合は,FALSE を出力します。
入力値が 0ms 以外の場合は,TRUE を出力します。
s
○
d
○
T#0ms
FALSE
T#20m34s567ms
TRUE
時間型
ビット型
5.1 型変換関数
5.1.35 時間型→ビット型変換
5-103
TIME_TO_BOOL(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
TIME_TO_BOOL(_E) での演算エラーはありません。
プログラム例
s に入力された時間型のデータを,ビット型のデータに変換して ○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (TIME_TO_BOOL)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool1 := TIME_TO_BOOL (g_time1);
(b) EN/ENO 付き関数 (TIME_TO_BOOL_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := TIME_TO_BOOL_E (g_bool1, g_time1, g_bool2);
5-104
5.1 型変換関数
5.1.35 時間型→ビット型変換
TIME_TO_INT(_E), TIME_TO_DINT(_E)
5.1.36
時間型→ワード[符号付き]型,ダブルワード[符号付
き]型変換
TIME_TO_INT(_E), TIME_TO_DINT(_E)
Basic
TIME_TO_INT(_E)
TIME_TO_DINT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
TIME_TO_INT
TIME _TO_INT_E
TIME _TO_DINT
TIME _TO_DINT_E
TIME_TO_INT_E
EN
ENO:= TIME_TO_INT_E (EN, s, d);
ENO
s
d
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_TIME):
入力
: 時間
ENO:
実行結果(TRUE:正常実行 FALSE:異常または停止)
: ビット
d:
出力
: ワード [ 符号付き ],ダブルワード [ 符号付き ]
応用関数
出力引数 ,
5
EN:
機 能
演算処理
(1) TIME_TO_INT, TIME_TO_INT_E
s に入力された時間型のデータを,ワード [ 符号付き ] 型のデータに変換して ○
d から
(a) ○
出力します。
s
○
d
○
T#1s234ms
1234
時間型
ワード[符号付き]型
(b) ワード [ 符号付き ] 型に変換時,時間型の上位 16 ビット(1 ワード分)のデータは切
り捨てられます。
5.1 型変換関数
5.1.36 時間型→ワード[符号付き]型,ダブルワード[符号付き]型変換
5-105
TIME_TO_INT(_E),
TIME_TO_DINT(_E)
入力引数 ,
TIME_TO_INT(_E), TIME_TO_DINT(_E)
(2) TIME_TO_DINT, TIME_TO_DINT_E
s に入力された時間型のデータを,ダブルワード [ 符号付き ] 型のデータに変換して ○
d か
○
ら出力します。
s
○
d
○
20m34s567ms
1234567
時間型
ダブルワード[符号付き]型
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-106
5.1 型変換関数
5.1.36 時間型→ワード[符号付き]型,ダブルワード[符号付き]型変換
TIME_TO_INT(_E), TIME_TO_DINT(_E)
エラー
TIME_TO_INT(_E),TIME_TO_DINT(_E) での演算エラーはありません。
プログラム例
s に入力された時間型のデータを,ワード [ 符号付き ] 型のデータに変換して ○
d から出力
(1) ○
するプログラム。
(a) EN/ENO なし関数 (TIME _TO_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int1 := TIME_TO_INT (g_time1);
(b) EN/ENO 付き関数 (TIME_TO_INT_E)
〔構造化ラダ ―/FBD〕
5
s に入力された時間型のデータを,ダブルワード [ 符号付き ] 型のデータに変換して ○
d か
(2) ○
ら出力するプログラム。
(a) EN/ENO なし関数 (TIME _TO_DINT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint1 := TIME_TO_DINT (g_time1);
5.1 型変換関数
5.1.36 時間型→ワード[符号付き]型,ダブルワード[符号付き]型変換
5-107
TIME_TO_INT(_E),
TIME_TO_DINT(_E)
応用関数
〔ST〕
g_bool3 := TIME_TO_INT_E (g_bool1, g_time1, g_int1);
TIME_TO_STR(_E)
5.1.37
時間型→文字列型変換
TIME_TO_STR(_E)
Basic
TIME_TO_STR(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
TIME_TO_STR
TIME _TO_STR_E
TIME_TO_STR_E
EN
ENO:= TIME_TO_STR_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_TIME):
入力
: 時間
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 文字列 (11)
機 能
演算処理
s に入力された時間型のデータを,文字列型のデータに変換して ○
d から出力します。
(1) ○
s
○
T#20m34s567ms
d
○
“
時間型
文字列型
s
○
T#-20m34s567ms
時間型
1234567”
d
○
“-
1234567”
文字列型
(2) SM701(出力文字数切換)が OFF の場合,文字列の最後に "00H" を格納します。
d に格納する演算結果は,次のようになります。
(3) ○
(a) 1文字目には,BIN データが正のとき 20H(スペース)を格納し,負のとき 2DH(-)
を格納します。
(b) 有効桁数の左側には 20H(スペース)を格納します。
5-108
5.1 型変換関数
5.1.37 時間型→文字列型変換
TIME_TO_STR(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
本関数は,下記の共通命令を使用して作られています。
TIME_TO_STR(_E):DBINDA
次の場合には演算エラーとなり,エラーフラグ (SM0) が ON し,エラーコードが SD0 に
格納されます。
d に指定されたデバイスが該当デバイスの範囲を超えるとき。 • ○
(ユニバーサルモデル QCPU,LCPU の場合 ) (エラーコード:4101)
s に入力された時間型のデータを,文字列型のデータに変換して ○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (TIME_TO_STR)
応用関数
5
プログラム例
TIME_TO_STR(_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string1 := TIME_TO_STR (g_time1);
(b) EN/ENO 付き関数例 (TIME_TO_STR_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := TIME_TO_STR_E (g_bool1, g_time1, g_string1);
5.1 型変換関数
5.1.37 時間型→文字列型変換
5-109
TIME_TO_WORD(_E), TIME_TO_DWORD(_E)
5.1.38
時間型→ワード[符号なし]/ ビット列[16 ビット]型,
ダブルワード[符号なし]/ ビット列[32 ビット]型変換
TIME_TO_WORD(_E), TIME_TO_DWORD(_E)
Basic
TIME_TO_WORD(_E)
TIME_TO_DWORD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
TIME_TO_WORD
TIME _TO_WORD_E
TIME _TO_DWORD
TIME _TO_DWORD_E
TIME_TO_WORD_E
EN
ENO:= TIME_TO_WORD_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
s(_TIME):
入力
: ビット
: 時間
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ワード [ 符号なし ]/ ビット列 [16 ビット ],
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ]
機 能
演算処理
(1) TIME_TO_WORD, TIME_TO_WORD_E
s に入力された時間型のデータを,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデー
○
d から出力します。
タに変換して ○
s
○
d
○
T#1s234ms
1234H
時間型
ワード[符号なし]/ビット列[16ビット]型
(2) ワード [ 符号なし ]/ ビット列 [16 ビット ] 型に変換時,時間型の上位 16 ビット(1 ワー
ド分)のデータは切り捨てられます。
5-110
5.1 型変換関数
5.1.38 時間型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列
TIME_TO_WORD(_E), TIME_TO_DWORD(_E)
(3) TIME_TO_DWORD, TIME_TO_DWORD_E
s に入力された時間型のデータを,ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型
○
d から出力します。
のデータに変換して ○
s
○
d
○
T#20m34s567ms
1234567H
時間型
ダブルワード[符号なし]/ビット列[32ビット]型
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
TIME_TO_WORD(_E),
TIME_TO_DWORD(_E)
応用関数
5
5.1 型変換関数
5.1.38 時間型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列
5-111
TIME_TO_WORD(_E), TIME_TO_DWORD(_E)
エラー
TIME_TO_WORD(_E),TIME_TO_DWORD(_E) での演算エラーはありません。
プログラム例
s に入力された時間型のデータを,ワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデー
(1) ○
d から出力するプログラム。
タに変換して ○
(a) EN/ENO なし関数 (TIME _TO_WORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_word1 := TIME_TO_WORD (g_time1);
(b) EN/ENO 付き関数 (TIME_TO_WORD_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := TIME_TO_WORD_E (g_bool1, g_time1, g_word1);
s に入力された時間型のデータを,ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型
(2) ○
d から出力するプログラム。
のデータに変換して ○
(a) EN/ENO なし関数 (TIME _TO_DWORD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dword1 := TIME_TO_DWORD (g_time1);
5-112
5.1 型変換関数
5.1.38 時間型→ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号なし]/ ビット列
BITARR_TO_INT(_E), BITARR_TO_DINT(_E)
5.1.39
ビット配列→ワード[符号付き]型/ワード[符号なし]
/ ビット列[16 ビット]型,ダブルワード[符号付き]
型/ダブルワード[符号なし]/ ビット列[32 ビット]
型変換
BITARR_TO_INT(_E), BITARR_TO_DINT(_E)
Basic
BITARR_TO_INT(_E)
BITARR_TO_DINT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
BITARR_TO_INT_E
EN
ENO
s
BITARR_TO_INT
BITARR_TO_INT_E
BITARR_TO_DINT
BITARR_TO_DINT_E
ENO:= BITARR_TO_INT_E (EN, s, n, d);
d
5
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_BitArr):
入力(要素指定は変数も可)
: ビット
n:
入力(4,8,12,16,20,24,28,32 の定数のみ指定可能) : ワード [ 符号付き ]
ENO:
実行結果(TRUE:正常実行 FALSE:異常または停止)
: ビット
d:
出力
: ANY16,ANY32
BITARR_TO_INT(_E),
BITARR_TO_DINT(_E)
入力引数 ,
応用関数
n
機 能
演算処理
(1) BITARR_TO_INT, BITARR_TO_INT_E
s に入力されたビット配列要素を先頭として,n で指定されたビット数分をワード [ 符号
○
d から出力
付き ] 型/ワード [ 符号なし ]/ ビット列 [16 ビット ] 型のデータに変換して ○
します。
n には,4,8,12,16 の定数のみ指定可能です。
指定されたビット数以上の出力ビットには 0 が設定されます。
(2) BITARR_TO_DINT, BITARR_TO_DINT_E
s に入力されたビット配列要素を先頭として,n で指定されたビット数分をダブルワード
○
[ 符号付き ] 型/ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータに変換して
d から出力します。
○
n には,4,8,12,16,20,24,28,32 の定数のみ指定可能です。
指定されたビット数以上の出力ビットには 0 が設定されます。
5.1 型変換関数
5.1.39 ビット配列→ワード[符号付き]型/ワード[符号なし]/ ビット列[16 ビット]型,ダブル
5-113
BITARR_TO_INT(_E), BITARR_TO_DINT(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
BITARR_TO_INT(_E), BITARR_TO_DINT(_E) での演算エラーはありません。
プログラム例
s に入力されたビット配列の 0 番目から 8 ビットをワード [ 符号付き ] 型のデータに変換して
○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (BITARR_TO_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int1 := BITARR_TO_INT(g_bool4[0], 8);
(b) EN/ENO 付き関数 (BITARR_TO_INT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool2 := BITARR_TO_INT_E(g_bool1, g_bool4[0], 8, g_int1);
5-114
5.1 型変換関数
5.1.39 ビット配列→ワード[符号付き]型/ワード[符号なし]/ ビット列[16 ビット]型,ダブル
INT_TO_BITARR(_E), DINT_TO_BITARR(_E)
5.1.40
ワード[符号付き]型/ワード[符号なし]/ ビット列
[16 ビット]型,ダブルワード[符号付き]型/ダブル
ワード[符号なし]/ ビット列[32 ビット]型→ビット
配列変換
INT_TO_BITARR(_E), DINT_TO_BITARR(_E)
Basic
INT_TO_BITARR(_E)
DINT_TO_BITARR(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INT_TO_BITARR_E
EN
ENO
s
INT_TO_BITARR
INT_TO_BITARR_E
DINT_TO_BITARR
DINT_TO_BITARR_E
ENO:= INT_TO_BITARR_E (EN, s, n, d);
d
5
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s:
入力
:ANY16,ANY32
n:
入力(4,8,12,16,20,24,28,32 の定数のみ指定可能) : ワード [ 符号付き ]
ENO:
実行結果(TRUE:正常実行 FALSE:異常または停止)
: ビット
d(_BitArr):
出力(要素指定は変数も可)
: ビット
INT_TO_BITARR(_E),
DINT_TO_BITARR(_E)
入力引数 ,
応用関数
n
機 能
演算処理
(1) INT_TO_BITARR, INT_TO_BITARR_E
s に指定されたワード [ 符号付き ] 型/ワード [ 符号なし ]/ ビット列 [16 ビット ] 型の下
○
d に出力します。
位 n ビットを ○
n には,4,8,12,16 の定数のみ指定可能です。
指定されたビット数以上の出力ビットは変更しません。
(2) DINT_TO_BITARR, DINT_TO_BITARR_E
s に指定されたダブルワード [ 符号付き ] 型/ダブルワード [ 符号なし ]/ ビット列 [32
○
d に出力します。
ビット ] 型の下位 n ビットを ○
n には,4,8,12,16,20,24,28,32 の定数のみ指定可能です。
指定されたビット数以上の出力ビットは変更しません。
5.1 型変換関数
5.1.40 ワード[符号付き]型/ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号
5-115
INT_TO_BITARR(_E), DINT_TO_BITARR(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
INT_TO_BITARR(_E),DINT_TO_BITARR(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型データの下位 4 ビットを ○
d に出力するプログラム。
○
(a) EN/ENO なし関数 (INT_TO_BITARR)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool4[0] := INT_TO_BITARR(g_int1, 4);
(b) EN/ENO 付き関数 (INT_TO_BITARR_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool2 := INT_TO_BITARR_E(g_bool1, g_int1, 4, g_bool4[0]);
5-116
5.1 型変換関数
5.1.40 ワード[符号付き]型/ワード[符号なし]/ ビット列[16 ビット]型,ダブルワード[符号付
CPY_BITARR(_E)
5.1.41
ビット配列のコピー
CPY_BITARR(_E)
Basic
CPY_BITARR(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
CPY_BITARR
ST
CPY_BITARR_E
CPY_BITARR_E
EN
ENO
s
ENO:= CPY_BITARR_E (EN, s, n, d);
d
n
入力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_BitArrIn):
入力
: ビット
n:
入力(4,8,12,16,20,24,28,32 の定数のみ指定可) : ワード [ 符号付き ]
: ビット
: ビット
応用関数
実行結果(TRUE:正常実行 FALSE:異常または停止)
ENO:
d(_BitArrOut): 出力
出力引数 ,
5
機 能
CPY_BITARR(_E)
演算処理
s に入力されたビット配列の n ビットを ○
d に出力します。
○
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5.1 型変換関数
5.1.41 ビット配列のコピー
5-117
CPY_BITARR(_E)
エラー
CPY_BITARR(_E) での演算エラーはありません。
プログラム例
s に入力されたビット配列の num1 番目の要素から 12 ビットを ○
d の num2 番目以降に出力
○
するプログラム。
(a) EN/ENO なし関数 (CPY_BITARR)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool5[num2] := CPY_BITARR(g_bool4[num1], 12);
(b) EN/ENO 付き関数 (CPY_BITARR_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool2 := CPY_BITARR_E(g_bool1, g_bool4[num1], 12, g_bool5[num2]);
5-118
5.1 型変換関数
5.1.41 ビット配列のコピー
GET_BIT_OF_INT(_E)
5.1.42
ワード[符号付き]型データの指定ビット読出し
GET_BIT_OF_INT(_E)
Basic
GET_BIT_OF_INT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
GET_BIT_OF_INT
ST
GET_BIT_OF_INT_E
GET_BIT_OF_INT_E
EN
ENO
s
ENO:= GET_BIT_OF_INT_E (EN, s, n, d);
d
n
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s:
入力
: ワード [ 符号付き ]
n:
入力(0 から 15 の定数のみ指定可能)
: ワード [ 符号付き ]
ENO:
実行結果(TRUE:正常実行 FALSE:異常または停止)
: ビット
d:
出力
: ビット
5
応用関数
入力引数 ,
GET_BIT_OF_INT(_E)
機 能
演算処理
s の n ビット目の値を読み出し,
d から出力します。
○
○
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5.1 型変換関数
5.1.42 ワード[符号付き]型データの指定ビット読出し
5-119
GET_BIT_OF_INT(_E)
エラー
GET_BIT_OF_INT(_E) での演算エラーはありません。
プログラム例
s に入力されたデータの 5 ビット目を読み出し,
d から出力するプログラム。
○
○
(a) EN/ENO なし関数 (GET_BIT_OF_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := GET_BIT_OF_INT(g_int1, 5);
(b) EN/ENO 付き関数 (GET_BIT_OF_INT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool2 := GET_BIT_OF_INT_E(g_bool1, g_int1, 5, g_bool3);
5-120
5.1 型変換関数
5.1.42 ワード[符号付き]型データの指定ビット読出し
SET_BIT_OF_INT(_E)
5.1.43
ワード[符号付き]型データの指定ビット書込み
SET_BIT_OF_INT(_E)
Basic
SET_BIT_OF_INT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
SET_BIT_OF_INT
ST
SET_BIT_OF_INT_E
SET_BIT_OF_INT_E
EN
ENO
s
ENO:= SET_BIT_OF_INT_E (EN, s, n, d);
d
n
入力引数 ,
実行条件(TRUE:実行 FALSE:停止)
: ビット
s:
入力
: ビット
n:
入力(0 から 15 の定数のみ指定可能)
: ワード [ 符号付き ]
ENO:
実行結果(TRUE:正常実行 FALSE:異常または停止)
: ビット
d:
出力
: ワード [ 符号付き ]
5
応用関数
出力引数 ,
EN:
SET_BIT_OF_INT(_E)
機 能
演算処理
s で指定された値を,
d の n ビット目に書き込みます。
○
○
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
5.1 型変換関数
5.1.43 ワード[符号付き]型データの指定ビット書込み
5-121
SET_BIT_OF_INT(_E)
エラー
SET_BIT_OF_INT(_E) での演算エラーはありません。
プログラム例
s の値を書き込むプログラム。
d の 3 ビット目に,
○
○
(a) EN/ENO なし関数 (SET_BIT_OF_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int3 := SET_BIT_OF_INT(g_bool1. 3);
(b) EN/ENO 付き関数 (SET_BIT_OF_INT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := SET_BIT_OF_INT_E(g_bool2, g_bool1, 3, g_int3);
5-122
5.1 型変換関数
5.1.43 ワード[符号付き]型データの指定ビット書込み
CPY_BIT_OF_INT(_E)
5.1.44
ワード[符号付き]型データの指定ビットコピー
CPY_BIT_OF_INT(_E)
Basic
CPY_BIT_OF_INT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
CPY_BIT_OF_INT
ST
CPY_BIT_OF_INT_E
CPY_BIT_OF_INT_E
EN
ENO
s
ENO:= CPY_BIT_OF_INT_E (EN, s, n1, n2, d);
d
n1
n2
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s:
入力
: ワード [ 符号付き ]
n1:
入力(0 から 15 の定数のみ指定可能)
: ワード [ 符号付き ]
n2:
入力(0 から 15 の定数のみ指定可能)
: ワード [ 符号付き ]
ENO:
実行結果(TRUE:正常実行 FALSE:異常または停止)
: ビット
d:
出力
: ワード [ 符号付き ]
5
応用関数
入力引数 ,
CPY_BIT_OF_INT(_E)
機 能
演算処理
s の n1 ビット目の値を,出力 ○
d の n2 ビット目にコピーします。
入力 ○
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
5.1 型変換関数
5.1.44 ワード[符号付き]型データの指定ビットコピー
5-123
CPY_BIT_OF_INT(_E)
エラー
CPY_BIT_OF_INT(_E) での演算エラーはありません。
プログラム例
s の 5 ビット目の値を,
d の 3 ビット目に書き込むプログラム。
○
○
(a) EN/ENO なし関数 (CPY_BIT_OF_INT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int3 := CPY_BIT_OF_INT(g_int1, 5, 3);
(b) EN/ENO 付き関数 (CPY_BIT_OF_INT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := CPY_BIT_OF_INT_E(g_bool2, g_int1, 5, 3, g_int3);
5-124
5.1 型変換関数
5.1.44 ワード[符号付き]型データの指定ビットコピー
GET_BOOL_ADDR, GET_INT_ADDR, GET_WORD_ADDR
5.1.45
型変換の不要化
GET_BOOL_ADDR, GET_INT_ADDR, GET_WORD_ADDR
Basic
High
performance
Process Redundant Universal
LCPU
GET_BOOL_ADDR
GET_INT_ADDR
GET_WORD_ADDR
には,下記の関数が入ります。
構造化ラダー/FBD
ST
GET_BOOL_ADDR
GET_INT_ADDR
GET_WORD_ADDR
GET_BOOL_ADDR
s
d
ENO:= GET_BOOL_ADDR (s, d);
入力引数 ,
s:
入力
: ANY
出力引数 ,
d:
出力
: ビット, ワード [ 符号付き ],
ワード [ 符号なし ]/ ビット列 [16 ビット ]
5
機 能
応用関数
演算処理
s のデータ型を ○
d のデータ型として出力します。
(1) ○
GET_BOOL_ADDR
入力データ型
出力データ型
ビット
ビット
ビットの配列
GET_BOOL_ADDR,
GET_INT_ADDR,
GET_WORD_ADDR
関数名
ワード [ 符号付き ]
ダブルワード [ 符号付き ]
GET_INT_ADDR
ワード [ 符号なし ]/ ビット列 [16 ビット ]
ワード [ 符号付き ]
単精度実数
文字列
時間型
ワード [ 符号付き ] の配列
ダブルワード [ 符号付き ] の配列
GET_WORD_ADDR
ワード [ 符号なし ]/ ビット列 [16 ビット ] の配列
ワード [ 符号なし ]/
ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] の配列 ビット列 [16 ビット ]
実数の配列
時間型の配列
s への入力値を設定する場合,丸め誤差が発生する場合があり
(2) プログラミングツールから ○
ます。プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F
構造化プログラミングマニュアル(基礎編)を参照してください。
5.1 型変換関数
5.1.45 型変換の不要化
5-125
GET_BOOL_ADDR, GET_INT_ADDR, GET_WORD_ADDR
演算結果
d からは,演算値が出力されます。
演算処理を実行します。○
エラー
GET_BOOL_ADDR, GET_INT_ADDR, GET_WORD_ADDR での演算エラーは
ありません。
プログラム例
32 ビットの入力変数 Var_D10 を,型変換せずに直接 16 ビットの入力データとして扱う
プログラム。
GET_INT_ADDR
〔構造化ラダ ―/FBD〕
〔ST〕
Var_D100 := GET_INT_ADDR(Var_D10);
5-126
5.1 型変換関数
5.1.45 型変換の不要化
ABS(_E)
5.2 単数値変数関数
5.2.1
絶対値
ABS(_E)
Basic
ABS(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
ABS
ABS_E
ABS_E
EN
ENO:= ABS_E (EN, s, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_IN):
入力
: ANY_NUM
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY_NUM
応用関数
5
演算処理
s に入力されたワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/単精度実数型/倍
(1) ○
s と同一のデータ型で出力します。
d から ○
精度実数型データの絶対値を,○
入力値を A,演算出力値を B とすると,下記のようになります。
B= A
s への入力値は,ワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/単精度実数型/
(2) ○
倍精度実数型のデータ値です。
5.2 単数値変数関数
5.2.1 絶対値
5-127
ABS(_E)
機 能
ABS(_E)
s のデータ型がワード [ 符号付き ] 型で 32768 を入力した場合,32768 が ○
d から出力
(3) ○
されます。
s のデータ型がダブルワード [ 符号付き ] 型で 2147483648 を入力した場合,
○
d から出力されます。
2147483648 が ○
(演算エラーにはなりません。また ABS_E のときは,ENO から TRUE が出力されます。
)
s に単精度実数型/倍精度実数型データを指定した場合,丸め
(4) プログラミングツールから ○
誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
エラー
ABS(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型データの絶対値を,
s と同一のデータ型で出
d から ○
(1) ○
○
力するプログラム。
(a) EN/ENO なし関数 (ABS)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int2:= ABS(g_int1);
(b) EN/ENO 付き関数 (ABS_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := ABS_E(g_bool1, g_int1, g_int2);
5-128
5.2 単数値変数関数
5.2.1 絶対値
ABS(_E)
s に入力されたダブルワード [ 符号付き ] 型データの絶対値を,
s と同一のデータ
d から ○
(2) ○
○
型で出力するプログラム。
(a) EN/ENO なし関数 (ABS)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint2:= ABS(g_dint1);
(b) EN/ENO 付き関数 (ABS_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool2 := ABS_E(g_bool1, g_dint1, g_dint2);
s に入力された単精度実数型データの絶対値を,
s と同一のデータ型で出力するプ
d から ○
(3) ○
○
ログラム。
5
(a) EN/ENO なし関数 (ABS)
応用関数
〔構造化ラダ ―/FBD〕
ABS(_E)
〔ST〕
g_real2:= ABS(g_real1);
(b) EN/ENO 付き関数 (ABS_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool2 := ABS_E(g_bool1, g_real1, g_real2);
5.2 単数値変数関数
5.2.1 絶対値
5-129
ABS(_E)
s に入力された倍精度実数型データの絶対値を,
s と同一のデータ型で出力するプ
d から ○
(4) ○
○
ログラム。
(a) EN/ENO なし関数 (ABS)
〔構造化ラダ ―/FBD〕
〔ST〕
g_lreal2:= ABS(g_lreal1);
(b) EN/ENO 付き関数 (ABS_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool2 := ABS_E(g_bool1, g_lreal1, g_lreal2);
5-130
5.2 単数値変数関数
5.2.1 絶対値
ADD_E
5.3 算術演算関数
5.3.1
加算
ADD_E
Basic
ADD_E
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
ADD_E
ADD_E
EN
ENO
s1
ENO:= ADD_E (EN, s1, s2
s28, d);
d
∼
s2
5
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1 ∼ s28(_IN):
入力
: ANY_NUM
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY_NUM
応用関数
s28
演算処理
s1 ∼
(1) ○
に入力されたワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/単精度実数型
s1 + ○
s2 +・・・+
s1 ∼
d から ○
/倍精度実数型データの加算( ○
)を行い,演算結果を ○
と
同一のデータ型で出力します。
(例)データ型がワード [ 符号付き ] 型の場合
s1
○
1234
ワード[符号付き]型
+
s2
○
d
○
5678
6912
ワード[符号付き]型
ワード[符号付き]型
s1 ∼
(2) ○
への入力値は,ワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/単精度実数
型/倍精度実数型のデータ値です。
(3) s のピン数は,2 ∼ 28 の範囲で変更できます。
5.3 算術演算関数
5.3.1 加算
5-131
ADD_E
機 能
ADD_E
d から下記のように出力さ
(4) 演算結果にオーバーフロー/アンダーフローが生じた場合は,○
れます。
(a) データ型がワード [ 符号付き ] 型の場合
オーバーフロー/アンダーフローが生じた場合でも,演算エラーにはなりません。
また,ADD_E の場合,ENO から TRUE が出力されます。
32767 +
2 = 32767
最上位ビットが 1 になるため,負の値になります。
(7FFFH) (0002H) (8001H)
32767 +
(2) = 32766
(8000H)
(FFFEH) (7FFEH)
最上位ビットが 0 になるため,正の値になります。
(b) データ型がダブルワード [ 符号付き ] 型の場合
オーバーフロー/アンダーフローが生じた場合でも,演算エラーにはなりません。
また,ADD_E の場合,ENO から TRUE が出力されます。
2147483647 +
2
= 2147483647
最上位ビットが 1 になるため,負
の値になります。
(7FFFFFFFH) (0002H) (80000001H)
2147483648 +(2) = 2147483646
(80000000H)
最上位ビットが 0 になるため,正
の値になります。
(FFFEH) (7FFFFFFEH)
s1 ∼
(5) プログラミングツールから ○
に単精度実数型/倍精度実数型データを指定した場合,
丸め誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-132
5.3 算術演算関数
5.3.1 加算
ADD_E
エラー
ADD_E での演算エラーはありません。
プログラム例
s1 ,
s2 に入力されたダブルワード [ 符号付き ] 型データの加算( ○
s1 + ○
s2 )を行い,演算結果を
○
○
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
○
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := ADD_E(g_bool1, g_dint1, g_dint2, g_dint3);
ADD_E
応用関数
5
5.3 算術演算関数
5.3.1 加算
5-133
MUL_E
5.3.2
乗算
MUL_E
Basic
MUL_E
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
MUL_E
MUL_E
EN
ENO
s1
ENO:= MUL_E (EN, s1, s2
s28, d);
d
∼
s2
s28
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1 ∼ s28(_IN):
入力
: ANY_NUM
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY_NUM
機 能
演算処理
s1 ∼
(1) ○
に入力されたワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/単精度実数型
s1
s2 ・・・
s1 ∼
d から ○
○
/倍精度実数型データの乗算( ○
)を行い,演算結果を ○
と
同一のデータ型で出力します。
(例)データ型がワード [ 符号付き ] 型の場合
s1
○
100
ワード[符号付き]型
×
s2
○
d
○
15
1500
ワード[符号付き]型
ワード[符号付き]型
s1 ∼
(2) ○
への入力値は,ワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/単精度実数
型/倍精度実数型のデータ値です。
(3) s のピン数は,2 ∼ 28 の範囲で変更できます。
5-134
5.3 算術演算関数
5.3.2 乗算
MUL_E
d は下記のように出力され
(4) 演算結果にアンダーフロー/オーバーフローが生じた場合は,○
ます。
(a) データ型がワード [ 符号付き ] 型の場合
アンダーフロー/オーバーフローが生じた場合でも,演算エラーにはなりません。
また,MUL_E の場合,ENO から TRUE が出力されます。
演算結果がワード [ 符号付き ] 型データの範囲を超えている場合でも,ワード [ 符号
付き ] 型のデータを出力します。
(演算結果は 32 ビットデータになりますが,出力は上位 16 ビットを削除したワード
[ 符号付き ] 型のデータで出力されます。)
演算結果がワード [ 符号付き ] 型データの範囲を超えている場合は,INT_TO_DINT
により入力値をダブルワード [ 符号付き ] 型データへ変換後,演算を行ってください。
(b) データ型がダブルワード [ 符号付き ] 型の場合
アンダーフロー/オーバーフローが生じた場合でも,演算エラーにはなりません。
また,MUL_E の場合,ENO から TRUE が出力されます。
演算結果がダブルワード [ 符号付き ] 型データの範囲を超えている場合でも,ダブル
ワード [ 符号付き ] 型のデータを出力します。
(演算結果は 64 ビットデータになりますが,出力は上位 32 ビットを削除したダブル
ワード [ 符号付き ] 型のデータで出力されます。)
演算結果がダブルワード [ 符号付き ] 型データの範囲を超えている場合は,
DINT_TO_REAL により入力値を単精度実数型データへ変換後,演算を行ってくださ
い。
s1 ∼
(5) プログラミングツールから ○
に単精度実数型/倍精度実数型データを指定した場合,
丸め誤差が発生する場合があります。
5
応用関数
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
MUL_E
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
演算結果がデータ型の範囲を超える場合は,入力値のデータ型を変換してから
演算を実行してください。
5.3 算術演算関数
5.3.2 乗算
5-135
MUL_E
エラー
MUL_E での演算エラーはありません。
プログラム例
s1 ,
s2 に入力されたダブルワード [ 符号付き ] 型データの乗算( ○
s1
○
○
s2 )を行い,演算結果を
○
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
○
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := MUL_E(g_bool1, g_dint1, g_dint2, g_dint3);
5-136
5.3 算術演算関数
5.3.2 乗算
SUB_E
5.3.3
減算
SUB_E
Basic
SUB_E
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
SUB_E
SUB_E
EN
ENO
s1
ENO:= SUB_E (EN, s1, s2, d);
d
s2
入力引数 ,
EN:
s1(_IN1):
s2(_IN2):
: ビット
入力
: ANY_NUM
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY_NUM
5
応用関数
出力引数 ,
実行条件(TRUE:実行 FALSE:停止)
機 能
s1 ,
s2 に入力されたワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/単精度実数型
○
(1) ○
s1  ○
s2 )を行い,演算結果を ○
s1 ,
s2 と同一のデー
d から ○
○
/倍精度実数型データの減算( ○
タ型で出力します。
(例)データ型がワード [ 符号付き ] 型の場合
s1
○
12345
ワード[符号付き]型
−
s2
○
d
○
6789
5556
ワード[符号付き]型
ワード[符号付き]型
s1 ,
s2 への入力値は,ワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/単精度実数
○
(2) ○
型/倍精度実数型のデータ値です。
5.3 算術演算関数
5.3.3 減算
5-137
SUB_E
演算処理
SUB_E
d は下記のように出力され
(3) 演算結果にアンダーフロー/オーバーフローが生じた場合は,○
ます。
(a) データ型がワード [ 符号付き ] 型の場合
アンダーフロー/オーバーフローが生じた場合でも,演算エラーにはなりません。
また,SUB_E の場合,ENO から TRUE が出力されます。
32767(2)= 32767
最上位ビットが 1 になるため,負の値になります。
(7FFFH) (FFFEH) (8001H)
32767 
2 = 32766
(8000H) (0002H)
最上位ビットが 0 になるため,正の値になります。
(7FFEH)
(b) データ型がダブルワード [ 符号付き ] 型の場合
アンダーフロー/オーバーフローが生じた場合でも,演算エラーにはなりません。
また,SUB_E の場合,ENO から TRUE が出力されます。
2147483647(2) = 2147483647
(7FFFFFFFH) (FFFEH)
2147483648 
2
最上位ビットが 1 になるため,負
の値になります。
(80000001H)
=
2147483646
(80000000H) (0002H) (7FFFFFFEH)
最上位ビットが 0 になるため,正
の値になります。
s1 ,
s2 に単精度実数型/倍精度実数型データを指定した場合,
○
(4) プログラミングツールから ○
丸め誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-138
5.3 算術演算関数
5.3.3 減算
SUB_E
エラー
SUB_E での演算エラーはありません。
プログラム例
s1 ,
s2 に入力されたダブルワード [ 符号付き ] 型データの減算( ○
s1  ○
s2 )を行い,演算結果を
○
○
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
○
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := SUB_E(g_bool1, g_dint1, g_dint2, g_dint3);
SUB_E
応用関数
5
5.3 算術演算関数
5.3.3 減算
5-139
DIV_E
5.3.4
除算
DIV_E
Basic
DIV_E
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
DIV_E
DIV_E
EN
ENO
s1
ENO:= DIV_E (EN, s1, s2, d);
d
s2
入力引数 ,
EN:
s1(_IN1):
s2(_IN2):
出力引数 ,
実行条件(TRUE:実行 FALSE:停止)
: ビット
入力
: ANY_NUM
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY_NUM
機 能
演算処理
s1 ,
s2 に入力されたワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/単精度実数型
○
(1) ○
s1 ÷ ○
s2 )を行い,演算結果の商を ○
s1 ,
s2 と同一の
d から ○
○
/倍精度実数型データの除算( ○
データ型で出力します。
(例)データ型がワード [ 符号付き ] 型の場合
s1
○
5
ワード[符号付き]型
÷
d
○
s2
○
(商)
(余り)
2
2
1
ワード[符号付き]型
ワード[符号付き]型 出力しません。
s1 ,
s2 への入力値は,ワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/単精度実数
○
(2) ○
s2 へ入力される値は,0 以外です。
型/倍精度実数型のデータ値です。(ただし,○
)
s1 ,
s2 に単精度実数型/倍精度実数型データを指定した場合,
○
(3) プログラミングツールから ○
丸め誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
5-140
5.3 算術演算関数
5.3.4 除算
DIV_E
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
演算結果
d
d2
演算エラーなし
演算出力値
演算エラーあり
不定値
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE(演算エラーなし)
FALSE(演算停止)
FALSE
d
d2
*1
演算出力値
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
DIV_E
応用関数
5
5.3 算術演算関数
5.3.4 除算
5-141
DIV_E
エラー
下記の場合には演算エラーとなります。
s2 へ入力される値が0のとき。
• ○
(0割り)
(エラーコード 4100)
プログラム例
s1 ,
s2 に入力されたダブルワード [ 符号付き ] 型データの除算( ○
s1 ÷ ○
s2 )を行い,演算結果の
○
○
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
商を ○
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := DIV_E(g_bool1, g_dint1, g_dint2, g_dint3);
5-142
5.3 算術演算関数
5.3.4 除算
MOD(_E)
5.3.5
剰余
MOD(_E)
Basic
MOD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
MOD
MOD_E
EN
ENO
s1
MOD_E
ENO:= MOD_E (EN, s1, s2, d);
d
s2
入力引数 ,
EN:
s1(_IN1):
s2(_IN2):
: ビット
入力
: ANY_INT
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY_INT
5
応用関数
出力引数 ,
実行条件(TRUE:実行 FALSE:停止)
機 能
s1 ,
s2 に入力されたワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型データの除算
○
(1) ○
s1 ÷ ○
s2 )を行い,演算結果の余りを ○
s1 ,
s2 と同一のデータ型で出力します。
d から ○
○
(○
(例)データ型がワード [ 符号付き ] 型の場合
s1
○
5
ワード[符号付き]型
÷
d
○
s2
○
(商)
(余り)
2
2
1
ワード[符号付き]型
出力しません。 ワード[符号付き]型
s1 ,
s2 への入力値は,ワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型のデータ値で
○
(2) ○
s2 へ入力される値は,0 以外です。
す。(ただし,○
)
5.3 算術演算関数
5.3.5 剰余
5-143
MOD(_E)
演算処理
MOD(_E)
演算結果
(1) EN/ENO なし関数
演算結果を,下記に示します。
演算結果
d
d2
演算エラーなし
演算出力値
演算エラーあり
不定値
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE(演算エラーなし)
FALSE(演算停止)
FALSE
d
d2
*1
演算出力値
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
5-144
5.3 算術演算関数
5.3.5 剰余
MOD(_E)
エラー
下記の場合には演算エラーとなります。
s2 へ入力される値が0のとき。
• ○
(0割り)
(エラーコード 4100)
プログラム例
s1 ,
s2 に入力されたダブルワード [ 符号付き ] 型データの除算( ○
s1 ÷ ○
s2 )を行い,演算結果の
○
○
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
余りを ○
(a) EN/ENO なし関数 (MOD)
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint3:= (g_dint1) MOD (g_dint2);
(b) EN/ENO 付き関数 (MOD_E)
〔構造化ラダ ―/FBD〕
応用関数
5
MOD(_E)
〔ST〕
g_bool3 := MOD_E(g_bool1, g_dint1, g_dint2, g_dint3);
5.3 算術演算関数
5.3.5 剰余
5-145
EXPT(_E)
5.3.6
べき乗
EXPT(_E)
Basic
EXPT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
EXPT
EXPT_E
EN
ENO
s1
EXPT _E
ENO:= EXPT_E (EN, s1, s2, d);
d
s2
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1(_IN1):
入力
: ANY_REAL
s2(_IN2):
入力
: ANY_NUM
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY_REAL
機 能
演算処理
s1 に入力された単精度実数型/倍精度実数型データを,
s2 で指定したワード [ 符号なし ]
○
(1) ○
/ダブルワード [ 符号なし ] /単精度実数/倍精度実数型データでべき乗を行い,演算結
d から出力します。
果を ○
s2
○
s1
○
2
4.0
d
○
16.0
ワード[符号付き]型
単精度実数型
単精度実数型
s1 ,
s2 に単精度実数型/倍精度実数型データを指定した場合,
○
(2) プログラミングツールから ○
丸め誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
5-146
5.3 算術演算関数
5.3.6 べき乗
EXPT(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
本関数は,下記の共通命令を使用して作られています。
s1 が単精度実数,○
s2 がワード [ 符号付き ] の場合 : LOG,FLT
○
s1 が単精度実数,○
s2 がダブルワード [ 符号付き ] の場合 : LOG,DFLT
○
s1 が単精度実数,○
s2 が単精度実数 の場合 : LOG
○
s1 が単精度実数,○
s2 が倍精度実数 の場合 : LOGD,DFLTD
○
s1 が倍精度実数,○
s2 がワード [ 符号付き ] の場合 : LOGD
○
s1 が倍精度実数,○
s2 がダブルワード [ 符号付き ] の場合 : LOGD,FLTD
○
s1 が倍精度実数,○
s2 が単精度実数 の場合 : LOGD,DFLTD
○
EXPT(_E)
関数実行時に発生するエラーについては,MELSEC-Q/L 構造化プログラミングマニュア
ル(共通命令編)を参照してください。
応用関数
5
s1 が倍精度実数,○
s2 が倍精度実数 の場合 : LOGD
○
5.3 算術演算関数
5.3.6 べき乗
5-147
EXPT(_E)
プログラム例
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
べき乗を行い,演算結果を ○
(a) EN/ENO なし関数 (EXPT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_real2:= EXPT(g_real1, g_int1);
(b) EN/ENO 付き関数 (EXPT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := EXPT_E(g_bool1, g_real1, g_int1, g_real2);
5-148
5.3 算術演算関数
5.3.6 べき乗
MOVE(_E)
5.3.7
代入
MOVE(_E)
Basic
MOVE(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
MOVE
MOVE_E
MOVE_E
EN
s
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1(_IN1):
入力
: ANY
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY
5
応用関数
出力引数 ,
d
MOVE(_E)
入力引数 ,
ENO:= MOVE_E (EN, s, d);
ENO
5.3 算術演算関数
5.3.7 代入
5-149
MOVE(_E)
機 能
演算処理
s に入力されたデータを,○
s と同一のデータ型で ○
d へ代入します。
(1) ○
s ,
d には,ワード [ 符号付き ] 型,ダブルワード [ 符号付き ] 型,ワード [ 符号なし ]/
(2) ○
○
ビット列 [16 ビット ] 型,ダブルワード [ 符号なし ]/ ビット列 [32 ビット ] 型,単精度
s ,○
d とは同
実数型,倍精度実数型,時間型,文字列型を指定することが可能です。また ○
じデータ型のみ指定可能です。
s
○
d
○
12
12
ワード[符号付き]型
ワード[符号付き]型
s
○
d
○
2147483647
2147483647
ダブルワード[符号付き]型
ダブルワード[符号付き]型
s
○
d
○
65535
65535
ワード[符号なし]/ビット列[16ビット]型
ワード[符号なし]/ビット列[16ビット]型
s
○
d
○
4294967295
4294967295
ダブルワード[符号なし]/ビット列[32ビット]型
ダブルワード[符号なし]/ビット列[32ビット]型
s
○
d
○
3.402823+38
3.402823+38
単精度実数型
単精度実数型
s
○
d
○
1.79769313486231+308
1.79769313486231+308
倍精度実数型
倍精度実数型
s に単精度実数型/倍精度実数型データを指定した場合,丸め
(3) プログラミングツールから ○
誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
5-150
5.3 算術演算関数
5.3.7 代入
MOVE(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
MOVE(_E) での演算エラーはありません。
プログラム例
s に入力されたワード [ 符号付き ] 型データを,
d へ代入するプログラム。
○
○
(a) EN/ENO なし関数 (MOVE)
〔構造化ラダ ―/FBD〕
応用関数
5
〔ST〕
g_int2:= MOVE(g_int1);
(b) EN/ENO 付き関数 (MOVE_E)
MOVE(_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := MOVE_E(g_bool1, g_int1, g_int2);
5.3 算術演算関数
5.3.7 代入
5-151
AND_E,OR_E,XOR_E,NOT(_E)
5.4 ビット型ブール関数
5.4.1
論理積,論理和,排他的論理和,論理否定
AND_E,OR_E,XOR_E,NOT(_E)
Basic
AND_E
OR_E
XOR_E
NOT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
AND_E
AND_E
EN
OR_E
ENO
s1
ENO:= AND_E (EN, s1, s2
XOR_E
s28, d);
d
NOT
NOT_E
∼
s2
s28
入力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
s1 ∼ s28(_IN1):
入力
: ANY_BIT
(NOT(_E) は s1 のみ )
出力引数 ,
: ビット
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY_BIT
機 能
演算処理
(1) AND_E
s1 ∼
(a) ○
に入力されたビット型/ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブ
ルワード [ 符号なし ]/ ビット列 [32 ビット ] 型データをビットごとに論理積を行い,
s1 ∼
d から ○
演算結果を ○
と同一のデータ型で出力します。
(例)データ型がワード [ 符号なし ]/ ビット列 [16 ビット ] 型の場合
s1
○
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
0
AND
s2
○
0
0
0
1
0
0
1
0
0
論理積
d
○
5-152
0
0
0
1
0
0
1
0
0
5.4 ビット型ブール関数
5.4.1 論理積,論理和,排他的論理和,論理否定
0
AND_E,OR_E,XOR_E,NOT(_E)
(b) s のピン数は,2 ∼ 28 の範囲で変更できます。
(2) OR_E
s1 ∼
(a) ○
に入力されたビット型/ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブ
ルワード [ 符号なし ]/ ビット列 [32 ビット ] 型データをビットごとに論理和を行い,
s1 ∼
d から ○
演算結果を ○
と同一のデータ型で出力します。
(例)データ型がワード [ 符号なし ]/ ビット列 [16 ビット ] 型の場合
s1
○
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
1
1
OR
s2
○
0
0
0
0
0
0
1
0
論理和
d
○
1
1
0
0
1
1
1
1
0
0
(b) s のピン数は,2 ∼ 28 の範囲で変更できます。
(3) XOR_E
s1 ∼
(a) ○
に入力されたビット型/ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブ
ルワード [ 符号なし ]/ ビット列 [32 ビット ] 型データをビットごとに排他的論理和を
s1 ∼
d から ○
行い,演算結果を ○
と同一のデータ型で出力します。
(例)データ型がワード [ 符号なし ]/ ビット列 [16 ビット ] 型の場合
s1
○
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
OR
s2
○
0
0
0
1
1
0
1
1
排他的論理和
d
○
1
0
1
1
0
0
0
1
0
1
0
1
5
応用関数
(b) s のピン数は,2 ∼ 28 の範囲で変更できます。
s1 と ○
s2 を XOR した結果に対して,
s3 を XOR します。
○
(c) s が 3 つ以上ある場合,○
s4 がある場合は,
s3 を XOR した結果に対して ○
s4 を XOR します。
○
また,○
s1
○
INの数が
3つの場合
INの数が
4つの場合
INの数が
5つの場合
FALSE
TRUE
FALSE
TRUE
XOR
XOR
XOR
s2
○
TRUE
結果
TRUE
TRUE
s4
○
TRUE
○
結果 FALSE
結果
TRUE
s3
AND_E,OR_E,
XOR_E,NOT(_E)
s5 ,
s6 と s の数だけ XOR していきます。
○
以降 ○
(例)データ型がビットの場合
XOR
○
s5
TRUE
・・・・
以降sの数だけ
XORしていきます。
結果 FALSE
5.4 ビット型ブール関数
5.4.1 論理積,論理和,排他的論理和,論理否定
5-153
AND_E,OR_E,XOR_E,NOT(_E)
(4) NOT, NOT_E
s1 に入力されたビット型/ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブル
(a) ○
ワード [ 符号なし ]/ ビット列 [32 ビット ] 型データをビットごとに論理否定を行い,
s1 と同一のデータ型で出力します。
d から ○
演算結果を ○
(例)データ型がワード [ 符号なし ]/ ビット列 [16 ビット ] 型の場合
s1
○
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
NOT
d
○
1
0
0
1
0
1
0
0
1
s1 ∼
への入力値は,ビット型/ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブ
(b) ○
ルワード [ 符号なし ]/ ビット列 [32 ビット ] 型のデータ値です。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d
d2
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-154
5.4 ビット型ブール関数
5.4.1 論理積,論理和,排他的論理和,論理否定
AND_E,OR_E,XOR_E,NOT(_E)
エラー
AND_E,OR_E,XOR_E,NOT(_E) での演算エラーはありません。
プログラム例
s1 , ○
s2 に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型をビットごとに論理積を
(1) ○
s1 , ○
d から ○
s2 と同一のデータ型で出力するプログラム。
行い,演算結果を ○
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool2 := AND_E (g_bool1, g_word1, g_word2, g_word3)
s1 , ○
s2 に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型をビットごとに論理和を
(2) ○
s1 , ○
d から ○
s2 と同一のデータ型で出力するプログラム。
行い,演算結果を ○
〔構造化ラダ ―/FBD〕
5
応用関数
〔ST〕
g_bool2 := OR_E(g_bool1, g_word1, g_word2, g_word3);
AND_E,OR_E,
XOR_E,NOT(_E)
s1 , ○
s2 に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型をビットごとに排他的論
(3) ○
s1 , ○
d から ○
s2 と同一のデータ型で出力するプログラム。
理和を行い,演算結果を ○
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool2 := XOR_E(g_bool1, g_word1, g_word2, g_word3);
5.4 ビット型ブール関数
5.4.1 論理積,論理和,排他的論理和,論理否定
5-155
AND_E,OR_E,XOR_E,NOT(_E)
s1 に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型をビットごとに論理否定を
(4) ○
s1 と同一のデータ型で出力するプログラム。
d から ○
行い,演算結果を ○
(a) EN/ENO なし関数 (NOT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_word2 :=NOT (g_word1);
(b) EN/ENO 付き関数 (NOT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool2 := NOT_E (g_bool1, g_word1, g_word2);
5-156
5.4 ビット型ブール関数
5.4.1 論理積,論理和,排他的論理和,論理否定
SEL(_E)
5.5 選択関数
5.5.1
選択値
SEL(_E)
Basic
SEL(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
SEL_E
EN
ENO
s1
SEL
SEL_E
ENO:= SEL_E (EN, s1, s2, s3, d);
d
s2
5
入力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1(_G):
出力条件(TRUE:s3 出力 FALSE:s2 出力)
: ビット
入力
: ANY
s2(_IN0):
s3(_IN1):
出力引数 ,
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY
応用関数
s3
SEL(_E)
機 能
演算処理
s1 へ入力されたビット型データの入力値に従い,
s2 ,
s3 へ入力された値のいずれかを,
d へ
(1) ○
○
○
○
s2 ,
s3 と同一のデータ型で出力します。
○
○
s1 の入力値が FALSE の場合,
s2 の入力値を ○
d から出力します。
○
○
s1 の入力値が TRUE の場合,
s3 の入力値を ○
d から出力します。
○
○
5.5 選択関数
5.5.1 選択値
5-157
SEL(_E)
s2 ,
s3 のデータ型が,ワード [ 符号付き ] 型の場合
○
(例)○
s1
○
s2 ∼○
s3
○
FALSE
ビット型
d
○
SEL
1234
ワード[符号付き]型
_G
_IN0
_IN1
OUT
1234
ワード[符号付き]型
5678
ワード[符号付き]型
s1 の入力値は,ビット型のデータ値です。
(2) ○
s2 ,
s3 への入力値は,ビット型/ワード[符号付き]型/ダブルワード[符号付き]型/
○
(3) ○
ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブルワード [ 符号なし ]/ ビット列 [32
ビット ] 型/単精度実数型/倍精度実数型/文字列型/時間型/構造体型/配列型のデー
タ値です。
s2 ,
s3 に単精度実数型/倍精度実数型データを指定した場合,
○
(4) プログラミングツールから ○
丸め誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-158
5.5 選択関数
5.5.1 選択値
SEL(_E)
エラー
SEL(_E) での演算エラーはありません。
プログラム例
s1 へ入力された入力値に従い,
s2 ,
s3 へ入力された値のいずれかを,
s2 ,
s3 と同一のデー
d から ○
○
○
○
○
○
タ型で出力するプログラム。
(a) EN/ENO なし関数 (SEL)
〔構造化ラダ ―/FBD〕
〔ST〕
g_word3 := SEL (g_bool1, g_word1, g_word2);
(b) EN/ENO 付き関数 (SEL_E)
〔構造化ラダ ―/FBD〕
応用関数
5
SEL(_E)
〔ST〕
g_bool3 := SEL_E (g_bool1, g_bool2, g_word1, g_word2, g_word3);
5.5 選択関数
5.5.1 選択値
5-159
MAXIMUM(_E),MINIMUM(_E)
5.5.2
最大値,最小値選択
MAXIMUM(_E),MINIMUM(_E)
Basic
MAXIMUM(_E)
MINIMUM(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,以下が入ります。
構造化ラダー/FBD
ST
MAXIMUM_E
EN
ENO
s1
ENO:= MAXIMUM_E (EN, s1, s2
MAXIMUM
MAXIMUM_E
MINIMUM
MINIMUM_E
s28, d);
d
∼
s2
s28
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1 ∼ s28(_IN1)
入力
:ANY_SIMPLE
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
:ANY_SIMPLE
機 能
演算処理
(1) MAXIMUM, MAXIMUM_E
s1 ∼
に入力されたビット型/ワード[符号付き]型/ダブルワード[符号付き]型/
○
ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブルワード [ 符号なし ]/ ビット列 [32
d から
ビット ] 型/単精度実数型/倍精度実数型/文字列型/時間型データの最大値を,○
s1 ∼
と同一のデータ型で出力します。
○
(例)データ型がワード [ 符号付き ] 型の場合
○ ∼○
1234
ワード[符号付き]型
5678
ワード[符号付き]型
5-160
5.5 選択関数
5.5.2 最大値,最小値選択
MAXIMUM
_IN
OUT
_IN
○
5678
ワード[符号付き]型
MAXIMUM(_E),MINIMUM(_E)
(2) MINIMUM, MINIMUM_E
s1 ∼
○
に入力されたワード[符号付き]型/ダブルワード[符号付き]型/単精度実数型
s1 ∼
d から ○
データの最小値を,○
と同一のデータ型で出力します。
(例)データ型がワード [ 符号付き ] 型の場合
○ ∼○
1234
ワード[符号付き]型
5678
ワード[符号付き]型
MINIMUM
_IN
OUT
_IN
○
5678
ワード[符号付き]型
型
s1 ∼
(3) ○
への入力値は,ビット型/ワード[符号付き]型/ダブルワード[符号付き]型/
ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブルワード [ 符号なし ]/ ビット列 [32
ビット ] 型/単精度実数型/倍精度実数型/文字列型/時間型のデータ値です。
s1 ∼
(4) プログラミングツールから ○
に単精度実数型/倍精度実数型データを指定した場合,
丸め誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
(5) s のピン数は,2 ∼ 28 の範囲で変更できます。
d にワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブルワード [ 符号なし ]/ ビット列
(6) ○
[32 ビット ] 型のデータを指定した場合,C9026 のワーニングが発生します。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
5
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5.5 選択関数
5.5.2 最大値,最小値選択
5-161
MAXIMUM(_E),
MINIMUM(_E)
EN
応用関数
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
MAXIMUM(_E),MINIMUM(_E)
エラー
MAXIMUM(_E),MINIMUM(_E) での演算エラーはありません。
プログラム例
s1 , ○
s1 , ○
d から ○
s2 に入力されたワード[符号付き]型データの最大値を,
s2 と同一のデー
(1) ○
○
タ型で出力するプログラム。
(a) EN/ENO なし関数 (MAXIMUM)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int3 := MAXIMUM (g_int1, g_int2);
(b) EN/ENO 付き関数
(MAXIMUM_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := MAXIMUM_E (g_bool1, g_int1, g_int2, g_int3);
s1 , ○
s1 , ○
d から ○
s2 に入力されたワード[符号付き]型データの最小値を,
s2 と同一のデー
(2) ○
○
タ型で出力するプログラム。
(a) EN/ENO なし関数 (MINIMUM)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int3 := MINIMUM (g_int1, g_int2);
5-162
5.5 選択関数
5.5.2 最大値,最小値選択
LIMITATION(_E)
5.5.3
上下限リミット制御
LIMITATION(_E)
Basic
LIMITATION(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,以下が入ります。
構造化ラダー/FBD
ST
LIMITATION_E
EN
ENO
s1
LIMITATION
LIMITATION_E
ENO:= LIMITATION_E (EN, s1, s2, s3, d);
d
s2
s3
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1(_MN):
下限リミット値(最小出力限界値)
:ANY_SIMPLE
s2(_IN):
上下限リミット制御により制御する入力値
:ANY_SIMPLE
s3(_MX):
上限リミット値(最大出力限界値)
:ANY_SIMPLE
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
:ANY_SIMPLE
5
応用関数
入力引数 ,
演算処理
s1 ,
s2 ,
s3 へ入力されたビット型/ワード[符号付き]型/ダブルワード[符号付き]型
○
○
(1) ○
/ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブルワード [ 符号なし ]/ ビット列
d から
[32 ビット ] 型/単精度実数型/倍精度実数型/文字列型/時間型データに従い,○
s1
s3
○ ∼ ○ と同一のデータ型で出力します。
s3 の入力値を ○
s2 の入力値> ○
s3 の入力値の場合,
d から出力します。
○
(a) ○
s1 の入力値を ○
s2 の入力値< ○
s1 の入力値の場合,
d からを出力します。
○
(b) ○
s1 の入力値≦ ○
s2 の入力値≦ ○
s3 の入力値の場合,
s2 の入力値を ○
d から出力します。
○
(c) ○
5.5 選択関数
5.5.3 上下限リミット制御
5-163
LIMITATION(_E)
機 能
LIMITATION(_E)
(例)データ型がワード [ 符号付き ] 型の場合
出力値
s1
○
-100
ワード[符号付き]型
s2
○
120
ワード[符号付き]型
LIMITATION
_MN
OUT
_IN
_MX
d
○
100
ワード[符号付き]型
MN入力値
入力値
MX入力値
s3
○
100
ワード[符号付き]型
s1 ,
s2 ,
s3 への入力値は,ビット型/ワード[符号付き]型/ダブルワード[符号付き]
○
○
(2) ○
型/ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブルワード [ 符号なし ]/ ビット列
[32 ビット ] 型/単精度実数型/倍精度実数型/文字列型/時間型のデータ値です。
(ただ
s1 の入力値< ○
s3 の入力値)
し,○
s1 ,
s2 ,
s3 に単精度実数型/倍精度実数型データを指定した場
○
○
(3) プログラミングツールから ○
合,丸め誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
d にワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブルワード [ 符号なし ]/ ビット列
(4) ○
[32 ビット ] 型のデータを指定した場合,C9026 のワーニングが発生します。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d2
d
○
○
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-164
5.5 選択関数
5.5.3 上下限リミット制御
LIMITATION(_E)
エラー
LIMITATION(_E) での演算エラーはありません。
プログラム例
s1 ,
s2 ,
s3 へ入力されたワード[符号付き]型データに従い,
s1 ,
s2 ,
s3 と同一の
d から ○
○
○
○
○
(1) ○
○
データ型で出力するプログラム。
(a) EN/ENO なし関数 (LIMITATION)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int4 := LIMITATION (g_int1, g_int2, g_int3);
(b) EN/ENO 付き関数 (LIMITATION_E)
〔構造化ラダ ―/FBD〕
応用関数
5
LIMITATION(_E)
〔ST〕
g_bool3 := LIMITATION_E (g_bool1, g_int1, g_int2, g_int3, g_int4);
5.5 選択関数
5.5.3 上下限リミット制御
5-165
MUX(_E)
5.5.4
マルチプレクサ
MUX(_E)
Basic
MUX(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
MUX
MUX_E
EN
MUX_E
ENO
n
ENO:= MUX_E (EN, n, s1, s2
d
s28,d);
s1
s2
s28
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
n(_K):
出力値選択
: ワード[符号付き]
s1 ∼ s28(_IN):
入力
: ANY
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: ANY
機 能
演算処理
s1 ∼
(1) n へ入力された入力値に従い,○
のデータ型で出力します。
s1 ∼
d から ○
へ入力された値のいずれかを,○
と同一
s1 へ入力された値を ○
d から出力します。
n の入力値が 1 の場合,○
sn へ入力された値を ○
d から出力します。
n の入力値が n の場合,○
(例)データ型がワード [ 符号付き ] 型の場合
n
s1 ∼○
s28
○
1
ワード[符号付き]型
1234
ワード[符号付き]型
d
○
MUX
_K
_IN
_IN
OUT
1234
ワード[符号付き]型
5678
ワード[符号付き]型
d から不定値が出力されます。
(2) n に s のピン数の範囲外を入力した場合,○
(演算エラーにはなりません。また MUX_E のときは,ENO から FALSE が出力されま
す。
)
5-166
5.5 選択関数
5.5.4 マルチプレクサ
MUX(_E)
(3) n への入力値は,ワード [ 符号付き ] 型のデータ値で 1 ∼ 28 の範囲内です。(ただし,s
のピン数の範囲内です。)
s1 ∼
(4) ○
への入力値は,ビット型/ワード [ 符号付き ] 型/ダブルワード [ 符号付き ] 型/
ワード [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブルワード [ 符号なし ]/ ビット列 [32
ビット ] 型/単精度実数型/倍精度実数型/文字列型/時間型/構造体型/配列型のデー
タ値です。
s1 ∼
(5) プログラミングツールから ○
に単精度実数型/倍精度実数型データを指定した場合,
丸め誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
(6) s のピン数は,2 ∼ 28 の範囲で変更できます。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
5
MUX(_E)
応用関数
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
5.5 選択関数
5.5.4 マルチプレクサ
5-167
MUX(_E)
エラー
MUX(_E) での演算エラーはありません。
プログラム例
s1 ∼ ○
s2 へ入力された値のいずれかを,
s1 ∼ ○
s2 と同一の
d から ○
n へ入力された入力値に従い,○
○
データ型で出力するプログラム。
(a) EN/ENO なし関数 (MUX)
〔構造化ラダ ―/FBD〕
〔ST〕
g_int4 := MUX (g_int1, g_int2, g_int3);
(b) EN/ENO 付き関数 (MUX_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := MUX_E (g_bool1, g_int1, g_int2, g_int3, g_int4);
5-168
5.5 選択関数
5.5.4 マルチプレクサ
GT_E,GE_E,EQ_E,LE_E,LT_E,NE_E
5.6 比較関数
5.6.1
比較
GT_E,GE_E,EQ_E,LE_E,LT_E,NE_E
Basic
GT_E
GE_E
EQ_E
LE_E
LT_E
NE_E
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
GT_E
GE_E
ENO
s1
対応していません。
d
EQ_E
LE_E
LT_E
s28
NE_E
∼
s2
入力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
s1 ∼ s28(_IN):
: ビット
: ANY_SIMPLE
(NE_E は s1,s2 のみ )
出力引数 ,
5
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力(TRUE:真値 FALSE:偽値)
: ビット
応用関数
EN
GT_E
GT_E,GE_E,
EQ_E,LE_E,
LT_E,NE_E
機 能
演算処理
s1 ∼
(1) ○
d からビット型で出力します。
に入力された入力値の比較演算を行い,演算結果を ○
5.6 比較関数
5.6.1 比較
5-169
GT_E,GE_E,EQ_E,LE_E,LT_E,NE_E
s1 > ○
s2 ]&[ ○
s2 > ○
s3 ]&・・・&[ ○
s (n1) > ○
s (n)] の比較を行います。
(a) GT_E()[ ○
s (n1) > ○
s (n) のとき,TRUE を出力します。
• すべて ○
s (n1) ≦ ○
s (n) のとき,FALSE を出力します。
• いずれかが ○
s1 ≧ ○
s2 ]&[ ○
s2 ≧ ○
s3 ]&・・・&[ ○
s (n1) ≧ ○
s (n)] の比較を行います。
(b) GE_E( ≧ )[ ○
s (n1) ≧ ○
s (n) のとき,TRUE を出力します。
• すべて ○
s (n1) < ○
s (n) のとき,FALSE を出力します。
• いずれかが ○
s1 = ○
s2 ]&[ ○
s2 = ○
s3 ]&・・・&[ ○
s (n1) = ○
s (n)] の比較を行います。
(c) EQ_E( = )[ ○
s (n1) = ○
s (n) のとき,TRUE を出力します。
• すべて ○
s (n1) ≠ ○
s (n) のとき,FALSE を出力します。
• いずれかが ○
s1 ≦ ○
s2 ]&[ ○
s2 ≦ ○
s3 ]&・・・&[ ○
s (n1) ≦ ○
s (n)] の比較を行います。
(d) LE_E( ≦ )[ ○
s (n1) ≦ ○
s (n) のとき,TRUE を出力します。
• すべて ○
s (n1) > ○
s (n) のとき,FALSE を出力します。
• いずれかが ○
s1 < ○
s2 ]&[ ○
s2 < ○
s3 ]&・・・&[ ○
s (n1) < ○
s (n)] の比較を行います。
(e) LT_E()[ ○
s (n1) < ○
s (n) のとき,TRUE を出力します。
• すべて ○
s (n1) ≧ ○
s (n) のとき,FALSE を出力します。
• いずれかが ○
s1 ≠ ○
s2 ] の比較を行います。
(f) NE_E( )[ ○
s1 ≠ ○
s2 のとき TRUE を出力します。
• ○
s1 = ○
s2 のとき FALSE を出力します。
• ○
s への入力値は,ビット型/ワード[符号付き]型/ダブルワード[符号付き]型/ワー
(2) ○
ド [ 符号なし ]/ ビット列 [16 ビット ] 型/ダブルワード [ 符号なし ]/ ビット列 [32 ビッ
ト ] 型/単精度実数型/倍精度実数型/文字列型/時間型のデータ値です。
s1 ∼
(3) プログラミングツールから ○
に単精度実数型/倍精度実数型データを指定した場合,
丸め誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
s のピン数は,2 ∼ 28 の範囲で変更できます。
s1 ,
s2 固
○
(4) ○
(ただし,NE_E の s のピンは,○
定です。)
5-170
5.6 比較関数
5.6.1 比較
GT_E,GE_E,EQ_E,LE_E,LT_E,NE_E
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
GT_E,GE_E,EQ_E,LE_E,LT_E,NE_E での演算エラーはありません。
プログラム例
s1 ,
s2 に入力された入力値の比較演算を行い,演算結果を ○
d から出力するプログラム。
○
○
〔構造化ラダ ―/FBD〕
応用関数
5
GT_E,GE_E,
EQ_E,LE_E,
LT_E,NE_E
〔ST〕
g_bool3 := GT_E (g_bool1, g_int1, g_int2, g_bool2);
5.6 比較関数
5.6.1 比較
5-171
MID(_E)
5.7 文字列関数
5.7.1
文字列の抽出
MID(_E)
Basic
MID(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
MID_E
EN
ENO
s
MID
MID_E
ENO:= MID_E (EN, s, n1, n2, d);
d
n1
n2
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_IN):
入力
: 文字列 (255)
n1(_L):
抽出文字数指定
: ワード[符号付き]
n2(_P):
抽出先頭位置指定
: ワード[符号付き]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 文字列 (255)
機 能
演算処理
s へ入力された文字列の任意位置から指定文字数分のデータを,
d から出力します。
(1) ○
○
抽出する文字数は,n1 への入力値により指定します。
抽出する文字列の先頭位置は,n2 への入力値により指定します。
5-172
5.7 文字列関数
5.7.1 文字列の抽出
MID(_E)
(例)n1,n2 への入力値が 5 の場合
s
○
d
○
“ ABCDEF12345 ”
“ EF123 ”
上位バイト 下位バイト
上位バイト 下位バイト
1ワード目
42H(B)
41H(A)
2ワード目
44H(D)
43H(C)
3ワード目
46H(F)
45H(E)
4ワード目
32H(2)
31H(1)
5ワード目
34H(4)
33H(3)
6ワード目
00H
35H(5)
n2
抽出先頭位置 5文字
46H(F)
45H(E)
1ワード目
32H(2)
31H(1)
2ワード目
00H
33H(3)
3ワード目
n1
抽出文字数 5文字
s への入力値は,文字列型のデータ値で 0 ∼ 255 バイトの範囲内です。
(2) ○
(3) n1 への入力値は,ワード [ 符号付き ] 型のデータ値で 0 ∼ 255 の範囲内です。
s へ入力される文字列の文字数以内に限ります。
(ただし,○
)
(4) n2 への入力値は,ワード [ 符号付き ] 型のデータ値で 1 ∼ 255 の範囲内です。
s へ入力される文字列の文字数以内に限ります。
(ただし,○
)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
5
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
MID(_E)
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
応用関数
EN
5.7 文字列関数
5.7.1 文字列の抽出
5-173
MID(_E)
エラー
本関数は,下記の共通命令を使用して作られています。
MID(_E): MIDR
関数実行時に発生するエラーについては,MELSEC-Q/L 構造化プログラミングマニュア
ル(共通命令編)を参照してください。
プログラム例
s へ入力された文字列の任意位置から指定文字数分のデータを,
d から出力するプログラム。
○
○
(a) EN/ENO なし関数 (MID)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string2:=MID(g_string1, g_int1, g_int2);
(b) EN/ENO 付き関数 (MID_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := MID_E(g_bool1, g_string1, g_int1, g_int2, g_string2);
5-174
5.7 文字列関数
5.7.1 文字列の抽出
CONCAT(_E)
5.7.2
文字列の結合
CONCAT(_E)
Basic
CONCAT(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
CONCAT
CONCAT_E
CONCAT_E
EN
ENO
s1
ENO:= CONCAT_E (EN, s1, s2
d
s28, d);
s2
s28
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1 ∼ s28(_IN):
入力
: 文字列 (255)
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 文字列 (255)
5
応用関数
入力引数 ,
機 能
s2 ∼
s1 へ入力された文字列のあとに,
○
(1) ○
す。
d から出力しま
へ入力された文字列を結合して,○
s1 の文字列の終了を示す "00H" を無視して,
s2 ∼
○
文字列の結合は,○
の文字列を続けて結
合します。
結合した文字列が 255 バイトを超えている場合は,255 バイトまでの文字列を出力しま
す。
○
“ ABCDE ”
+
上位バイト 下位バイト
○
○
“ 123456 ”
“ ABCDE123456 ”
上位バイト 下位バイト
上位バイト 下位バイト
1ワード目
42H(B)
41H(A)
1ワード目
32H(2)
31H(1)
1ワード目
42H(B)
41H(A)
2ワード目
44H(D)
43H(C)
2ワード目
34H(4)
33H(3)
2ワード目
44H(D)
43H(C)
3ワード目
00H
45H(E)
3ワード目
36H(6)
35H(5)
3ワード目
31H(1)
45H(E)
4ワード目
33H(3)
32H(2)
5ワード目
35H(5)
34H(4)
6ワード目
00H
36H(6)
4ワード目
s2 ∼
s1 ,
○
(2) ○
00H
への入力値は,文字列型のデータ値で 0 ∼ 255 バイトの範囲内です。
(3) s のピン数は,2 ∼ 28 の範囲で変更できます。
5.7 文字列関数
5.7.2 文字列の結合
5-175
CONCAT(_E)
演算処理
CONCAT(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
CONCAT(_E) での演算エラーはありません。
プログラム例
s1 へ入力された文字列のあとに,
s2 へ入力された文字列を結合して,
d から出力するプログラ
○
○
○
ム。
(a) EN/ENO なし関数 (CONCAT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string3:=CONCAT(g_string1, g_string2);
(b) EN/ENO 付き関数 (CONCAT_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := CONCAT_E(g_bool1, g_string1, g_string2, g_string3);
5-176
5.7 文字列関数
5.7.2 文字列の結合
INSERT(_E)
5.7.3
文字列の挿入
INSERT(_E)
Basic
INSERT(_E)
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
INSERT
INSERT_E
EN
High
performance
ENO
s1
INSERT_E
ENO:= INSERT_E (EN, s1, s2, n, d);
d
s2
n
実行条件(TRUE:実行 FALSE:停止)
: ビット
入力
: 文字列 (255)
n(_P):
挿入先頭位置指定
: ワード[符号付き]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 文字列 (255)
EN:
s1(_IN1):
s2(_IN2):
出力引数 ,
5
応用関数
入力引数 ,
機 能
s1 へ入力された文字列に,文字列の先頭から任意の位置へ ○
s2 へ入力された文字列を挿入し
(1) ○
d から出力します。
て,○
挿入する文字列の先頭位置は,n への入力値により指定します。
s2 の文字列を ○
s1 の文字列へ挿入後,
s2 の文字列の終了を示す "00H" は無視します。挿入し
○
○
た文字列が 255 バイトを超えている場合は,255 バイトまでの文字列を出力します。
5.7 文字列関数
5.7.3 文字列の挿入
5-177
INSERT(_E)
演算処理
INSERT(_E)
(例)n への入力値が,4 の場合
d
○
s1 の入力値
○
“ ABCDE ”
出力値
“ ABC123456DE ”
上位バイト 下位バイト
上位バイト 下位バイト
1ワード目
42H(B)
41H(A)
42H(B)
41H(A)
1ワード目
2ワード目
44H(D)
43H(C)
31H(1)
43H(C)
2ワード目
3ワード目
00H
45H(E)
33H(3)
32H(2)
3ワード目
35H(5)
34H(4)
4ワード目
44H(D)
36H(6)
5ワード目
00H
45H(E)
6ワード目
n
挿入先頭位置 4文字目
s2 の入力値
○
“ 123456 ”
上位バイト 下位バイト
1ワード目
32H(2)
31H(1)
2ワード目
34H(4)
33H(3)
3ワード目
36H(6)
4ワード目
35H(5)
00H
s1 ,
s2 への入力値は,文字列型のデータ値で 0 ∼ 255 バイトの範囲内です。
○
(2) ○
(3) n への入力値は,ワード [ 符号付き ] 型のデータ値で 1 ∼ 255 の範囲内です。
s1 へ入力される文字列の文字数以内に限ります。
(ただし,○
)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d
d2
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-178
5.7 文字列関数
5.7.3 文字列の挿入
INSERT(_E)
エラー
INSERT(_E) での演算エラーはありません。
プログラム例
s1 へ入力された文字列に,文字列の先頭から任意の位置へ ○
s2 へ入力された文字列を挿入して,
○
d から出力するプログラム。
○
(a) EN/ENO なし関数 (INSERT)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string3:=INSERT(g_string1, g_string2, g_int1);
(b) EN/ENO 付き関数 (INSERT_E)
〔構造化ラダ ―/FBD〕
応用関数
5
INSERT(_E)
〔ST〕
g_bool3 := INSERT_E(g_bool1, g_string1, g_string2, g_int1, g_string3);
5.7 文字列関数
5.7.3 文字列の挿入
5-179
DELETE(_E)
5.7.4
文字列の削除
DELETE(_E)
Basic
DELETE(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
DELETE_E
EN
ENO
s
DELETE
DELETE_E
ENO:= DELETE_E (EN, s, n1, n2, d);
d
n1
n2
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_IN):
入力
: 文字列 (255)
n1(_L):
削除文字数指定
: ワード[符号付き]
n2(_P):
削除先頭位置指定
: ワード[符号付き]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 文字列 (255)
機 能
演算処理
s へ入力された文字列の任意位置から指定文字数分のデータを削除して,残りの文字列を
(1) ○
d から出力します。
○
削除する文字数は,n1 への入力値により指定します。
削除する文字列の先頭位置は,n2 への入力値により指定します。
5-180
5.7 文字列関数
5.7.4 文字列の削除
DELETE(_E)
(例)n1,n2 への入力値が,5 の場合
s
○
d
○
“ ABCDEF12345 ”
“ ABCD45 ”
上位バイト 下位バイト
上位バイト 下位バイト
1ワード目
42H(B)
41H(A)
42H(B)
41H(A)
1ワード目
2ワード目
44H(D)
43H(C)
44H(D)
43H(C)
2ワード目
3ワード目
46H(F)
45H(E)
35H(5)
34H(4)
3ワード目
4ワード目
32H(2)
31H(1)
5ワード目
34H(4)
33H(3)
6ワード目
00H
35H(5)
n2
削除先頭位置 5文字目
00H
4ワード目
n1
削除文字数 5文字
s への入力値は,文字列型のデータ値で 0 ∼ 255 バイトの範囲内です。
(2) ○
(3) n1 への入力値は,ワード [ 符号付き ] 型のデータ値で 0 ∼ 255 の範囲内です。
s へ入力される文字列の文字数以内に限ります。
(ただし,○
)
(4) n2 への入力値は,ワード [ 符号付き ] 型のデータ値で 1 ∼ 255 の範囲内です。
s へ入力される文字列の文字数以内に限ります。
(ただし,○
)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d
d2
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
*1
不定値
DELETE(_E)
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
応用関数
5
5.7 文字列関数
5.7.4 文字列の削除
5-181
DELETE(_E)
エラー
DELETE(_E) での演算エラーはありません。
プログラム例
s へ入力された文字列の任意位置から指定文字数分のデータを削除して,残りの文字列を ○
d か
○
ら出力するプログラム。
(a) EN/ENO なし関数 (DELETE)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string2:=DELETE(g_string1, g_int1, g_int2);
(b) EN/ENO 付き関数 (DELETE_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := DELETE_E(g_bool1, g_string1, g_int1, g_int2, g_string2);
5-182
5.7 文字列関数
5.7.4 文字列の削除
REPLACE(_E)
5.7.5
文字列の置換
REPLACE(_E)
Basic
REPLACE(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
REPLACE_E
EN
REPLACE
REPLACE_E
ENO
s1
d
ENO:= REPLACE_E (EN, s1, s2, n1, n2, d);
s2
n1
n2
実行条件(TRUE:実行 FALSE:停止)
: ビット
入力
: 文字列 (255)
n1(_L):
置換文字数指定
: ワード[符号付き]
n2(_P):
置換先頭位置指定
: ワード[符号付き]
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 文字列 (255)
EN:
s1(_IN1):
s2(_IN2):
出力引数 ,
5
応用関数
入力引数 ,
演算処理
s1 へ入力された文字列の任意位置から指定文字数分のデータを,
s2 へ入力された文字列へ
○
(1) ○
d
置換して,○ から出力します。
置換する文字数は,n1 への入力値により指定します。
置換する文字列の先頭位置は,n2 への入力値により指定します。
5.7 文字列関数
5.7.5 文字列の置換
5-183
REPLACE(_E)
機 能
REPLACE(_E)
(例)n1,n2 への入力値が,5 の場合
d
○
s1 への入力値
○
“ ABCDEFGH123 ”
出力値
“ ABCD1234523 ”
上位バイト 下位バイト
上位バイト 下位バイト
1ワード目
42H(B)
41H(A)
2ワード目
44H(D)
43H(C)
n2
置換先頭位置 5文字目
42H(B)
41H(A)
1ワード目
44H(D)
43H(C)
2ワード目
32H(2)
31H(1)
3ワード目
34H(4)
33H(3)
4ワード目
3ワード目
46H(F)
45H(E)
4ワード目
48H(H)
47H(G)
5ワード目
32H(2)
31H(1)
32H(2)
35H(5)
5ワード目
6ワード目
00H
33H(3)
00H
33H(3)
6ワード目
s2 への入力値
○
n1
置換文字数 5文字
“ 123456 ”
上位バイト 下位バイト
1ワード目
32H(2)
31H(1)
2ワード目
34H(4)
33H(3)
3ワード目
36H(6)
4ワード目
35H(5)
00H
s1 ,
s2 への入力値は,文字列型のデータ値で 0 ∼ 255 バイトの範囲内です。
○
(2) ○
(3) n1 への入力値は,ワード [ 符号付き ] 型のデータ値で 0 ∼ 255 の範囲内です。
s1 へ入力される文字列の文字数以内に限ります。
(ただし,○
)
(4) n2 の入力値は,ワード [ 符号付き ] 型のデータ値で 1 ∼ 255 の範囲内です。
s1 へ入力される文字列の文字数以内に限ります。
(ただし,○
)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5-184
5.7 文字列関数
5.7.5 文字列の置換
REPLACE(_E)
エラー
REPLACE(_E) での演算エラーはありません。
プログラム例
s1 へ入力された文字列の任意位置から指定文字数分のデータを,
s2 へ入力された文字列へ置換
○
○
d から出力するプログラム
して,○
(a) EN/ENO なし関数 (REPLACE)
〔構造化ラダ ―/FBD〕
〔ST〕
g_string3:=REPLACE(g_string1, g_string2, g_int1, g_int2);
(b) EN/ENO 付き関数 (REPLACE_E)
〔構造化ラダ ―/FBD〕
応用関数
5
REPLACE(_E)
〔ST〕
g_bool3 := REPLACE_E(g_bool1, g_string1, g_string2, g_int1, g_int2,
g_string3);
5.7 文字列関数
5.7.5 文字列の置換
5-185
ADD_TIME(_E)
5.8 時刻データ型関数
5.8.1
加算
ADD_TIME(_E)
Basic
ADD_TIME(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
ADD_TIME
ADD_TIME_E
ADD_TIME_E
EN
ENO
s1
ENO:= ADD_TIME_E (EN, s1, s2, d);
d
s2
入力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
入力
: 時間
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 時間
s1(_IN1):
s2(_IN2):
出力引数 ,
機 能
演算処理
s1 ,
s2 に入力された時間型データの加算( ○
s1 + ○
s2 )を行い,演算結果を ○
d から時間型で出
○
(1) ○
力します。
s1 ,
s2 への入力値が,T#1d2h33m44s55ms(1 日 2 時間 33 分 44 秒 55 ミリ秒 ) と
○
(例)○
T#2ms(2 ミリ秒 ) の場合
s1
○
T#1d2h33m44s55ms
時間型
+
s2
○
d
○
T#2ms
T#1d2h33m44s57ms
時間型
時間型
s1 ,
s2 への入力値は,時間型のデータ値です。
○
(2) ○
5-186
5.8 時刻データ型関数
5.8.1 加算
ADD_TIME(_E)
(3) 演算結果にアンダーフロー/オーバーフローが生じても演算エラーにはなりません。
d へ下記のように出力されます。
○
また,ADD_TIME_E の場合,ENO から TRUE が出力されます。
(例)オーバーフロー
T#24d20h31m23s647m
(7FFFFFFFH)
+
T#2ms
(00000002H)
T#-24d20h31m23s647m
(80000001H)
最上位ビットが 1 になるため,負の時間となります。
(例)アンダーフロー
T#-24d20h31m23s648ms
(80000000H)
+
T#-2ms
(FFFFFFFEH)
T#24d20h31m23s646ms
(7FFFFFFEH)
最上位ビットが 0 になるため,正の時間となります。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
5
応用関数
エラー
ADD_TIME(_E)
ADD_TIME(_E) での演算エラーはありません。
5.8 時刻データ型関数
5.8.1 加算
5-187
ADD_TIME(_E)
プログラム例
s1 ,
s2 に入力された時間型データの加算( ○
s1 + ○
s2 )を行い,演算結果を ○
d から時間型で出力す
○
○
るプログラム。
(a) EN/ENO なし関数 (ADD_TIME)
〔構造化ラダ ―/FBD〕
〔ST〕
g_time3:= ADD_TIME(g_time1, g_time2);
(b) EN/ENO 付き関数 (ADD_TIME_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := ADD_TIME_E(g_bool1, g_time1, g_time2, g_time3);
5-188
5.8 時刻データ型関数
5.8.1 加算
SUB_TIME(_E)
5.8.2
減算
SUB_TIME(_E)
Basic
SUB_TIME(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
SUB_TIME
SUB_TIME_E
SUB_TIME_E
EN
ENO
s1
ENO:= SUB_TIME_E (EN, s1, s2, d);
d
s2
入力引数 ,
実行条件(TRUE:実行 FALSE:停止)
: ビット
入力
: 時間
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 時間
EN:
s1(_IN1):
出力引数 ,
5
応用関数
s2(_IN2):
機 能
s1 ,
s2 に入力された時間型データの減算( ○
s1  ○
s2 )を行い,演算結果を ○
d から時間型で出
○
(1) ○
力します。
s1 ,
s2 への入力値が,T#1d2h33m44s55ms(1 日 2 時間 33 分 44 秒 55 ミリ秒 ) と
○
(例)○
T#2ms(2 ミリ秒 ) の場合
s1
○
T#1d2h33m44s55ms
時間型
−
s2
○
d
○
T#2ms
T#1d2h33m44s53ms
時間型
時間型
s1 ,
s2 への入力値は,時間型のデータ値です。
○
(2) ○
5.8 時刻データ型関数
5.8.2 減算
5-189
SUB_TIME(_E)
演算処理
SUB_TIME(_E)
(3) 演算結果にオーバーフロー/アンダーフローが生じても演算エラーにはなりません。
d へ下記のように出力されます。
○
また,SUB_TIME_E の場合,ENO から TRUE が出力されます。
(例)オーバーフロー
T#24d20h31m23s647ms
(7FFFFFFFH)
−
T#-2ms
(FFFFFFFEH)
T#-24d20h31m23s647ms
(80000001H)
最上位ビットが 1 になるため,負の時間となります。
(例)アンダーフロー
T#-24d20h31m23s648ms
(80000000H)
−
T#2ms
(00000002H)
T#24d20h31m23s646ms
(7FFFFFFEH)
最上位ビットが 0 になるため,正の時間となります。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d から出力されたデータを使用しないようなプログラムの処理を行ってく
その場合は,○
ださい。
エラー
SUB_TIME(_E) での演算エラーはありません。
5-190
5.8 時刻データ型関数
5.8.2 減算
SUB_TIME(_E)
プログラム例
s1 ,
s2 に入力された時間型データの減算( ○
s1  ○
s2 )を行い,演算結果を ○
d から時間型で出力す
○
○
るプログラム。
(a) EN/ENO なし関数 (SUB_TIME)
〔構造化ラダ ―/FBD〕
〔ST〕
g_time3:= SUB_TIME(g_time1, g_time2);
(b) EN/ENO 付き関数 (SUB_TIME_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := SUB_TIME_E(g_bool1, g_time1, g_time2, g_time3);
SUB_TIME(_E)
応用関数
5
5.8 時刻データ型関数
5.8.2 減算
5-191
MUL_TIME(_E)
5.8.3
乗算
MUL_TIME(_E)
Basic
MUL_TIME(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
MUL_TIME
MUL_TIME_E
MUL_TIME_E
EN
ENO
s1
ENO:= MUL_TIME_E (EN, s1, s2, d);
d
s2
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1(_IN1):
入力
: 時間
s2(_IN2):
入力
: ANY_NUM
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 時間
機 能
演算処理
s1 に入力された時間型データと,
s2 に入力されたワード [ 符号付き ] 型/ダブルワード
○
(1) ○
s1
s2 )を行い,演算結果
○
[ 符号付き ] 型/単精度実数型/倍精度実数型データの乗算( ○
d
を ○ から時間型で出力します。
s1 ,
s2 への入力値が,T#1d2h33m44s55ms(1 日 2 時間 33 分 44 秒 55 ミリ秒 ) と
○
(例)○
2 の場合
s1
○
T#1d2h33m44s55ms
時間型
s2
○
d
○
2
T#2d5h7m28s110m
ワード[符号付き]型
時間型
×
s1 への入力値は,時間型のデータ値です。
(2) ○
s2 への入力値は,ワード[符号付き]型 / ダブルワード[符号付き]型 / 単精度実数型 /
(3) ○
倍精度実数型のデータです。
s2 に単精度実数型/倍精度実数型データを指定した場合,丸め
(4) プログラミングツールから ○
誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
5-192
5.8 時刻データ型関数
5.8.3 乗算
MUL_TIME(_E)
(5) 演算結果にオーバーフロー/アンダーフローが生じても演算エラーにはなりません。
d へ下記のように出力されます。
○
また,MUL_TIME_E の場合,ENO から TRUE が出力されます。
(演算結果は 64 ビットデータになりますが,出力は上位 32 ビットを削除した時間型の
データで出力されます。)
(例)オーバーフロー
T#24d20h31m23s647ms
(7FFFFFFFH)
×
2
(00000002H)
T#-2ms
(FFFFFFFEH)
最上位ビットが 1 になるため,負の時間となります。
(例)アンダーフロー
T#-24d20h31m23s648ms
(80000000H)
×
2
(00000002H)
T#0ms
(00000000H)
最上位ビットが 0 になるため,正の時間となります。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
5
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
エラー
応用関数
EN
MUL_TIME(_E)
MUL_TIME(_E) での演算エラーはありません。
5.8 時刻データ型関数
5.8.3 乗算
5-193
MUL_TIME(_E)
プログラム例
s1 に入力された時間型データと ○
s2 に入力されたワード [ 符号付き ] 型データの乗算( ○
s1
○
d から時間型で出力するプログラム。
を行い,演算結果を ○
(a) EN/ENO なし関数 (MUL_TIME)
〔構造化ラダ ―/FBD〕
〔ST〕
g_time2:= MUL_TIME(g_time1, g_int1);
(b) EN/ENO 付き関数 (MUL_TIME_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := MUL_TIME_E(g_bool1, g_time1, g_int1, g_time2);
5-194
5.8 時刻データ型関数
5.8.3 乗算
s2 )
○
DIV_TIME(_E)
5.8.4
除算
DIV_TIME(_E)
Basic
DIV_TIME(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
DIV_TIME
DIV_TIME_E
DIV_TIME_E
EN
ENO
s1
ENO:= DIV_TIME_E (EN, s1, s2, d);
d
s2
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1(_IN1):
入力
: 時間
s2(_IN2):
入力
: ANY_NUM
ENO:
実行結果(TRUE:正常 FALSE:異常)
: ビット
d:
出力
: 時間
5
応用関数
入力引数 ,
機 能
s1 に入力された時間型データと,
s2 に入力されたワード [ 符号付き ] 型/ダブルワード
○
(1) ○
s1 ÷ ○
s2 )を行い,演算結果
[ 符号付き ] 型/単精度実数型/倍精度実数型データの除算( ○
d
の商を ○ から時間型で出力します。余りは切り捨てます。
s1 ,
s2 への入力値が,T#1d2h33m44s55ms(1 日 2 時間 33 分 44 秒 55 ミリ秒 ) と
○
(例)○
2 の場合
s1
○
T#1d2h33m44s55ms
時間型
s2
○
d (商)
○
(余り)
2
T#13h16m63s27ms
ワード[符号付き]型
時間型
T#1ms
切り捨て
÷
s1 への入力値は,時間型のデータ値です。
(2) ○
s2 への入力値は,ワード[符号付き]型 / ダブルワード[符号付き]型 / 単精度実数型 /
(3) ○
倍精度実数型のデータです。
s2 へ入力される値は,0 以外です。
(ただし,○
)
5.8 時刻データ型関数
5.8.4 除算
5-195
DIV_TIME(_E)
演算処理
DIV_TIME(_E)
s2 に単精度実数型/倍精度実数型データを指定した場合,丸め
(4) プログラミングツールから ○
誤差が発生する場合があります。
プログラミングツールから入力値を設定する場合の注意事項は,MELSEC-Q/L/F 構造化
プログラミングマニュアル(基礎編)を参照してください。
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
TRUE(演算実行)
TRUE
FALSE(演算停止)
FALSE
d
d2
演算出力値
*1
不定値
d から出力されるデータは不定値となります。
*1: ENO から FALSE が出力された場合,○
d
その場合は,○ から出力されたデータを使用しないようなプログラムの処理を行ってく
ださい。
エラー
次の場合には演算エラーとなります。
s2 へ入力される値が 0 のとき。
• ○
(0 割り)
(エラーコード 4100)
プログラム例
s1 に入力された時間型データと ○
s2 に入力されたワード [ 符号付き ] 型データの除算( ○
s1 ÷ ○
s2 )
○
d から時間型で出力するプログラム。
を行い,演算結果の商を ○
(a) EN/ENO なし関数 (DIV_TIME)
〔構造化ラダ ―/FBD〕
〔ST〕
g_time2:= DIV_TIME(g_time1, g_int1);
(b) EN/ENO 付き関数 (DIV_TIME_E)
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool3 := DIV_TIME_E(g_bool1, g_time1, g_int1, g_time2);
5-196
5.8 時刻データ型関数
5.8.4 除算
SR(_E)
5.9 二安定ファンクションブロック
5.9.1
二安定ファンクションブロック(セット優先)
SR(_E)
Basic
SR(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
SR
SR_E
SR_E
EN
ENO
s1
SR_E (EN, s1, s2, ENO, d);
d
s2
入力引数 ,
実行条件(TRUE:実行 FALSE:停止)
: ビット
入力
: ビット
ENO:
実行結果(TRUE:正常 FALSE:異常または停止)
: ビット
d(Q1):
出力
: ビット
EN:
s1(_S1):
s2(RESET):
出力引数 ,
応用関数
5
演算処理
s1 が ON すると,
d を SET します。○
s1 が OFF の時,
s2 を ON すると,
d を RESET できます。
○
○
○
○
s1 が ON のとき,
s2 を ON しても,
d は RESET されません。
○
○
○
5.9 二安定ファンクションブロック
5.9.1 二安定ファンクションブロック(セット優先)
5-197
SR(_E)
機 能
SR(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
〔タイミングチャート〕
ON
s1
ON
OFF
ON
OFF
OFF
ON
s2
OFF
ON
ON
OFF
ON
ON
OFF
ON
ON
OFF
ON
d
ON
ON
OFF
ON
OFF
OFF
ON
ON
OFF
s1
=ON により
s1
=OFFかつ s2 =ONにより
d
をSETする。
d
をRESETする。
OFF
ON
OFF
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d
d2
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
前回出力値
〔タイミングチャート〕
ON
ON
ON
ON
ON
EN
ON
s1
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
OFF
ON
s2
ON
OFF
ENO
ON
d
OFF
EN=ONかつ s1 =ONにより
d をSETする。
ON
OFF
EN=ONかつ s1 =OFFかつ s2 =ONにより
d をRESETする。
エラー
SR (_E) での演算エラーはありません。
5-198
5.9 二安定ファンクションブロック
5.9.1 二安定ファンクションブロック(セット優先)
ON
ON
OFF
SR(_E)
プログラム例
s1 に入力されたビット型のデータを ○
d から出力保持し,
s2 に入力されたビット型のデータが 1
○
○
s1 の入力値が 0 の場合のみ,
d の値をリセットするプログラム。
○
で,かつ ○
(a) EN/ENO なし関数 (SR)
〔構造化ラダ ―/FBD〕
〔ST〕
SR_Inst(_S1:= g_bool1 ,RESET:= g_bool2 ,Q1:= g_bool3 );
(b) EN/ENO 付き関数 (SR_E)
〔構造化ラダ ―/FBD〕
5
SR(_E)
応用関数
〔ST〕
SR_E_Inst(EN:= X0 ,_S1:= g_bool1 ,_R:= g_bool2 ,Q1:= g_bool3 ,ENO:= Y20 );
5.9 二安定ファンクションブロック
5.9.1 二安定ファンクションブロック(セット優先)
5-199
RS(_E)
5.9.2
二安定ファンクションブロック(リセット優先)
RS(_E)
Basic
RS(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
RS
RS_E
EN
ENO
s1
RS_E (EN, s1, s2, ENO, d);
d
s2
入力引数 ,
EN:
s1(_S):
s2(_R1):
出力引数 ,
実行条件(TRUE:実行 FALSE:停止)
: ビット
入力
: ビット
ENO:
実行結果(TRUE:正常 FALSE:異常または停止)
: ビット
d(Q1):
出力
: ビット
機 能
演算処理
s1 が ON すると,
d を SET します。○
s2 を ON すると,
d を RESET します。
○
○
○
s2 が ON のとき,
s1 を ON しても,
d は SET できません。
○
○
○
5-200
5.9 二安定ファンクションブロック
5.9.2 二安定ファンクションブロック(リセット優先)
RS_E
RS(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
〔タイミングチャート〕
ON
ON
s1
ON
ON
ON
ON
OFF
ON
s2
ON
OFF
OFF
OFF
ON
ON
OFF
ON
d
ON
ON
OFF
ON
ON
OFF
OFF
s1
=ONかつ
s2
=ONにより
s2
=OFFにより
d
をOFFする。
d
をONする。
OFF
ON
OFF
ON
ON
OFF
ON
OFF
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d
d2
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
前回出力値
〔タイミングチャート〕
ON
ON
ON
ON
ON
EN
5
ON
ON
s1
ON
s2
OFF
応用関数
OFF
ON
OFF
OFF
ENO
ON
OFF
OFF
EN=ONかつ s1 =ONかつ s2 =OFFにより
d
をONする。
OFF
RS(_E)
ON
d
EN=ONかつ s2 =ONにより
d
をOFFする。
エラー
RS (_E) での演算エラーはありません。
5.9 二安定ファンクションブロック
5.9.2 二安定ファンクションブロック(リセット優先)
5-201
RS(_E)
プログラム例
s1 に入力されたビット型のデータを ○
d から出力保持し,
s2 に入力されたビット型のデータが 1
○
○
d の値をリセットするプログラム。
の時に強制的に,○
(a) EN/ENO なし関数 (RS)
〔構造化ラダ ―/FBD〕
〔ST〕
RS_Inst(_S:= g_bool1 ,_R1:= g_bool2 ,Q1:= g_bool3 );
(b) EN/ENO 付き関数 (RS_E)
〔構造化ラダ ―/FBD〕
〔ST〕
RS_E_Inst(EN:= X0 ,_S:= g_bool1 ,_R1:= g_bool2 ,Q1:= g_bool3 ,ENO:= Y20 );
5-202
5.9 二安定ファンクションブロック
5.9.2 二安定ファンクションブロック(リセット優先)
R_TRIG(_E)
5.10 エッジ検出ファンクションブロック
5.10.1
立ち上りエッジ検出
R_TRIG(_E)
Basic
R_TRIG(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
R_TRIG
R_TRIG_E
R_TRIG_E
EN
R_TRIG_E (EN, s, ENO, d);
ENO
s
d
5
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
s(_CLK):
入力
: ビット
: ビット
ENO:
実行結果(TRUE:正常 FALSE:異常または停止)
: ビット
d(Q):
出力
: ビット
応用関数
入力引数 ,
機 能
R_TRIG(_E)
演算処理
s が ON すると,
d を1スキャンのみ ON します。
○
○
5.10 エッジ検出ファンクションブロック
5.10.1 立ち上りエッジ検出
5-203
R_TRIG(_E)
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
〔タイミングチャート〕
ON
ON
s
OFF
d
OFF
ON
ON
OFF
s
の立上りで
d
をONする。
ON
ON
ON
OFF
ON
ON
OFF
ON
ON
OFF
ON
OFF
OFF
次スキャンで
d
をOFFする。
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d
d2
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
前回出力値
〔タイミングチャート〕
ON
ON
ON
ON
EN
ON
ON
s
OFF
ENO
OFF
ON
d
ON
s
の立上りで
d
をONする。
次スキャンで
d
をOFFする。
エラー
R_TRIG (_E) での演算エラーはありません。
5.10 エッジ検出ファンクションブロック
5.10.1 立ち上りエッジ検出
ON
ON
ON
OFF
EN=ONかつ
5-204
ON
OFF
OFF
EN=OFFの場合は,
d
は前回のスキャンの出力を保持する。
R_TRIG(_E)
プログラム例
s に入力されたビット型のデータが OFFON に変化したとき,
d を1スキャンのみ ON す
○
○
る。
(a) EN/ENO なし関数 (R_TRIG)
〔構造化ラダ ―/FBD〕
〔ST〕
R_TRIG_Inst(_CLK:= g_bool1 ,Q:= g_bool2 );
(b) EN/ENO 付き関数 (R_TRIG_E)
〔構造化ラダ ―/FBD〕
〔ST〕
R_TRIG_E_Inst(EN:= X0 ,_CLK:= g_bool1 ,Q:= g_bool2 ,ENO:= Y20 );
R_TRIG(_E)
応用関数
5
5.10 エッジ検出ファンクションブロック
5.10.1 立ち上りエッジ検出
5-205
F_TRIG(_E)
5.10.2
立ち下りエッジ検出
F_TRIG(_E)
Basic
F_TRIG(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
F_TRIG
F_TRIG_E
F_TRIG_E
EN
F_TRIG_E (EN, s, ENO, d);
ENO
s
d
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(_CLK):
入力
: ビット
ENO:
実行結果(TRUE:正常 FALSE:異常または停止)
: ビット
d(Q):
出力
: ビット
機 能
演算処理
s が OFF すると,
d を1スキャンのみ ON します。
○
○
演算結果
(1) EN/ENO なし関数
d からは,演算値が出力されます。
演算処理を実行します。○
〔タイミングチャート〕
ON
s
OFF
ON
OFF
OFF
ON
ON
d
5-206
ON
OFF
ON
OFF
ON
ON
OFF
ON
ON
OFF
OFF
ON
ON
OFF
s
の立下りで 次スキャンで
d
をONする。
d
をOFFする。
5.10 エッジ検出ファンクションブロック
5.10.2 立ち下りエッジ検出
F_TRIG(_E)
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d
d2
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
前回出力値
〔タイミングチャート〕
ON
ON
EN
OFF
s
OFF
ON
ON
ON
OFF
ON
ON
ON
ON
OFF
ON
OFF
ON
ON
ENO
ON
ON
ON
OFF
ON
OFF
ON
d
ON
OFF
EN=ONかつ s の立下りで
d
をONする。
OFF
ON
OFF
OFF
次スキャンで EN=OFFの場合は,
d
をOFFする。 d は前回のスキャンの出力を保持する。
エラー
F_TRIG (_E) での演算エラーはありません。
s に入力されたビット型のデータが ONOFF に変化したとき,
d を1スキャンのみ ON す
○
○
る。
応用関数
5
プログラム例
(a) EN/ENO なし関数 (F_TRIG)
F_TRIG(_E)
〔構造化ラダ ―/FBD〕
〔ST〕
F_TRIG_Inst(_CLK:= g_bool1 ,Q:= g_bool2 );
(b) EN/ENO 付き関数 (F_TRIG_E)
〔構造化ラダ ―/FBD〕
〔ST〕
F_TRIG_E_Inst(EN:= X0 ,_CLK:= g_bool1 ,Q:= g_bool2 ,ENO:= Y20 );
5.10 エッジ検出ファンクションブロック
5.10.2 立ち下りエッジ検出
5-207
CTU(_E)
5.11 カウンタファンクションブロック
5.11.1
アップカウンタ
CTU(_E)
Basic
CTU(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
CTU_E
EN
ENO
s1
d1
s2
d2
CTU
CTU_E
CTU_E (EN, s1, s2, n, ENO, d1, d2);
n
入力引数 ,
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1(CU):
カウント信号入力
: ビット
s2(RESET):
カウントリセット
: ビット
n(PV):
カウント最大値
: ワード[符号付き]
ENO:
実行結果(TRUE:正常 FALSE:異常または停止)
: ビット
d1(Q):
カウント一致出力
: ビット
d2(CV):
カウント値
: ワード[符号付き]
機 能
演算処理
d2 をカウントします。
s1 が ON すると,
○
(1) ○
d2 が n に達すると ○
d1 が ON します。
カウント値 ○
d2 をリセットします。
d1 を OFF し,カウント値 ○
s2 を ON すると ○
○
(2) n の有効設定範囲は,-32768 ∼ 32767 です。
d2 のカウント値に関わらず ○
d1 は ON します。
ただし,0 以下の数値を設定した場合,○
5-208
5.11 カウンタファンクションブロック
5.11.1 アップカウンタ
CTU(_E)
演算結果
(1) EN/ENO なし関数
d2 からは,演算値が出力されます。
d1 ,
○
演算処理を実行します。○
[ タイミングチャート ]
ON
s1
OFF
ON
ON
OFF
ON
ON
OFF
ON
ON
OFF
ON
OFF
ON
s2
OFF
OFF
ON
d1
OFF
OFF
0
d2
1
2
3
0
1
s1
=ONで
s2
=ONで
d2
をカウントアップする。
d2
を0クリアする。
2
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d1
,d2
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
前回出力値
[ タイミングチャート ]
ON
s1
OFF
ON
OFF
ON
ON
ON
OFF
ON
OFF
ON
5
ON
OFF
ON
OFF
ENO
OFF
d1
OFF
OFF
ON
ON
ON
ON
応用関数
s2
ON
ON
0
1
2
EN=ONかつ s1 =ONで
d2
をONする。
3
0
s2
=ONで
d2
を0クリアする。
CTU(_E)
d2
OFF
1
エラー
CTU (_E) での演算エラーはありません。
5.11 カウンタファンクションブロック
5.11.1 アップカウンタ
5-209
CTU(_E)
プログラム例
s1 に入力されたビット型のデータが OFFON に変化した回数を,
d2 から出力するプログラ
○
○
ム。
(a) EN/ENO なし関数 (CTU)
〔構造化ラダ ―/FBD〕
〔ST〕
CTU_Inst(CU:= g_bool1 ,RESET:= g_bool2 ,PV:= g_int1 ,Q:= g_bool3
,CV:= g_int2 );
(b) EN/ENO 付き関数 (CTU_E)
〔構造化ラダ ―/FBD〕
〔ST〕
CTU_E_Inst(EN:= M10 ,CU:= g_bool1 ,RESET:= g_bool2 ,PV:= g_int1
,Q:= g_bool3 ,CV:= g_int2 ,ENO:= M11 );
5-210
5.11 カウンタファンクションブロック
5.11.1 アップカウンタ
CTD(_E)
5.11.2
ダウンカウンタ
CTD(_E)
Basic
CTD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
CTD
CTD_E
EN
ENO
s1
d1
s2
d2
CTD_E
CTD_E (EN, s1, s2, n, ENO, d1, d2);
n
出力引数 ,
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1(CD):
カウント信号入力
: ビット
s2(LOAD):
カウントリセット
: ビット
n(PV):
カウント開始値
: ワード[符号付き]
ENO:
実行結果(TRUE:正常 FALSE:異常または停止)
: ビット
d1(Q):
カウント一致出力
: ビット
d2(CV):
カウント値
: ワード[符号付き]
5
応用関数
入力引数 ,
機 能
CTD(_E)
演算処理
s1 が OFFON すると,
d2 を減算カウント(1)します。
(1) ○
○
n はカウントの減算初期値をセットします。
d1 が ON します。
カウント値 ○
d2 が0の場合,
○
s2 を ON すると ○
d1 を OFF し,カウント値 ○
○
d2 に減算初期値 n をセットします。
(2) n の有効設定範囲は,-32768 ∼ 32767 です。
d2 のカウント値に関わらず ○
d1 は ON します。
ただし,0 以下の数値を設定した場合,○
5.11 カウンタファンクションブロック
5.11.2 ダウンカウンタ
5-211
CTD(_E)
演算結果
(1) EN/ENO なし関数
d1 ,
d2 からは,演算値が出力されます。
演算処理を実行します。○
○
[ タイミングチャート ]
n=3の場合
ON
s1
OFF
s2
OFF
ON
ON
OFF
OFF
ON
ON
OFF
OFF
ON
OFF
ON
OFF
ON
ON
OFF
OFF
ON
OFF
OFF
ON
ON
d1
OFF
d2
0
OFF
3
2
1
0
s2
=ONで
s1
の立下りで
d2
を初期化する。
d2
をカウントダウンする。
3
2
1
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d1
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
前回出力値
,d2
[ タイミングチャート ]
n=3の場合
ON
EN
OFF
s1
OFF
s2
OFF
ENO
OFF
ON
ON
ON
ON
OFF
ON
ON
OFF
ON
ON
ON
ON
OFF
OFF
ON
ON
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
OFF
ON
ON
d1
OFF
d2
0
OFF
3
EN=ONかつ s2 =ONで
d2
を初期化する。
2
1
EN=ONかつ s1 の立下りで
d2
をカウントダウンする。
エラー
CTD (_E) での演算エラーはありません。
5-212
ON
5.11 カウンタファンクションブロック
5.11.2 ダウンカウンタ
0
−1
−2
−3
CTD(_E)
プログラム例
s1 に入力されたビット型のデータが OFFON に変化した回数をカウントし,
○
d2 の値が 0 に
○
d2
d1 を ON するプログラム。
なったら ○
(a) EN/ENO なし関数 (CTD)
〔構造化ラダ ―/FBD〕
〔ST〕
CTD_Inst(CD:= g_bool1 ,LOAD:= g_bool2 ,PV:= g_int1 ,Q:= g_bool3
,CV:= g_int2 );
(b) EN/ENO 付き関数 (CTD_E)
〔構造化ラダ ―/FBD〕
5
CTD(_E)
応用関数
〔ST〕
CTD_E_Inst(EN:= M10 ,CD:= g_bool1 ,LOAD:= g_bool2 ,PV:= g_int1
,Q:= g_bool3 ,CV:= g_int2 ,ENO:= M11 );
5.11 カウンタファンクションブロック
5.11.2 ダウンカウンタ
5-213
CTUD(_E)
5.11.3
アップダウンカウンタ
CTUD(_E)
Basic
CTUD(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
CTUD
構造化ラダー/FBD
CTUD_E
ST
CTUD_E
EN
s1
ENO
d1
s2
d2
s3
s4
n
d3
入力引数 ,
出力引数 ,
CTUD_E
(EN, s1, s2, s3, s4, n,
ENO, d1, d2, d3);
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s1(CU):
カウントアップ信号入力
: ビット
s2(CD):
カウントダウン信号入力
: ビット
s3(RESET):
カウントアップリセット
: ビット
s4(LOAD):
カウントダウンリセット
: ビット
n(PV):
カウント最大値
: ワード[符号付き]
ENO:
実行結果(TRUE:正常 FALSE:異常または停止)
: ビット
d1(QU):
カウントアップ一致出力
: ビット
d2(QD):
カウントダウン一致出力
: ビット
d3(CV):
現在カウント値
: ワード[符号付き]
機 能
演算処理
s1 が OFFON すると,
d3 を加算カウント(+1)します。
(1) ○
○
s2 が OFFON すると,
○
d3 を減算カウント(1)します。
○
n はカウンタの最大値を設定します。
d3 が0の場合,
d2 が ON します。
○
○
d3 がカウンタの最大値 n に達すると ○
d1 が ON します。
○
s3 を ON すると,
d3 をリセットします。
○
○
s4 を ON すると n の値を ○
○
d3 にセットします。
(2) n の有効設定範囲は,-32768 ∼ 32767 です。
d1 ,d2 は ON します。
d3 のカウント値に関わらず ○
ただし,0 以下の数値を設定した場合,○
○
5-214
5.11 カウンタファンクションブロック
5.11.3 アップダウンカウンタ
CTUD(_E)
演算結果
(1) EN/ENO なし関数
d3 からは,演算値が出力されます。
d1 ,
d2 ,
演算処理を実行します。○
○
○
[ タイミングチャート ]
n=3の場合
ON
s1
OFF
s2
OFF
s3
OFF
s4
OFF
d1
OFF
ON
ON
OFF
ON
OFF
OFF
ON
ON
OFF
OFF
ON
ON
ON
OFF
ON
OFF
OFF
ON
ON
OFF
OFF
ON
OFF
ON
OFF
OFF
d2
d3
0
1
2
0
1
3
3
2
のOFF→ONで
d3
をカウントアップする。 d3 を初期化する。 d3 をカウントダウンする。 d3 を初期化する。
s2
のOFF→ONで
2
s1
s4
1
0
のOFF→ONで
応用関数
5
CTUD(_E)
s3
のOFF→ONで
2
5.11 カウンタファンクションブロック
5.11.3 アップダウンカウンタ
5-215
CTUD(_E)
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d1
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
前回出力値
,d2 ,d3
[ タイミングチャート ]
n=3の場合
ON
ON
EN
ON
ON
OFF
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
ON
s2
OFF
ON
OFF
ON
s3
ON
OFF
ON
s1
ON
OFF
ON
OFF
OFF
ENO
OFF
d1
OFF
OFF
OFF
OFF
OFF
OFF
ON
OFF
ON
ON
ON
ON
ON
ON
s4
ON
ON
OFF
ON
ON
ON
OFF
d2
d3
0
1
EN=ONかつ s1 のOFF→ONで
d3
5-216
をカウントアップする。
2
0
EN=ONかつ s3 のOFF→ONで
d3
を0クリアする。
5.11 カウンタファンクションブロック
5.11.3 アップダウンカウンタ
1
0
EN=ONかつ s2 のOFF→ONで
d3
をカウントダウンする。
3
2
EN=ONかつ s4 のOFF→ONで
d3
を初期化する。
1
CTUD(_E)
エラー
CTUD (_E) での演算エラーはありません。
プログラム例
n と同
s1 に入力されたビット型のデータが OFFON に変化した回数をカウントし,
d3 の値が ○
○
○
s2 に入力されたビット型のデータが
d1 を ON するプログラム。また,同時に ○
じになったら ○
d3 の値が 0 になったら ○
d2 を ON するプログラム。
OFFON に変化した回数をカウントし,○
(a) EN/ENO なし関数 (CTD)
〔構造化ラダ ―/FBD〕
〔ST〕
CTUD_Inst(CU:= g_bool1 ,CD :=g_bool2 ,RESET:= g_bool3 ,LOAD:= g_bool4
,PV:= g_int1 ,QU:= g_bool5 ,QD:= g_bool6 ,CV:= g_int2 );
(b) EN/ENO 付き関数 (CTD_E)
5
〔ST〕
CTUD_E_Inst(EN:= M0 ,CU:= g_bool1 ,CD:= g_bool2 ,RESET:= g_bool3
,LOAD:= g_bool4 ,PV:= g_int1 ,QU:= g_bool5 ,QD:= g_bool6 ,CV:= g_int2
,ENO:= M10 );
5.11 カウンタファンクションブロック
5.11.3 アップダウンカウンタ
5-217
CTUD(_E)
応用関数
〔構造化ラダ ―/FBD〕
COUNTER_FB_M
5.11.4
カウンタファンクションブロック
COUNTER_FB_M
Basic
High
performance
Process Redundant Universal
LCPU
COUNTER_FB_M
には,下記の関数が入ります。
構造化ラダー/FBD
ST
COUNTER_FB_M
COUNTER_FB_M
s1
d1
s2
d2
COUNTER_FB_M (s1, s2, s3, d1, d2)
s3
入力引数 ,
出力引数 ,
s1(Coil):
実行条件(TRUE:実行 FALSE:停止)
: ビット
s2(Preset):
カウンタ設定値
: ワード[符号付き]
s3(ValueIn):
カウンタ初期値
: ワード[符号付き]
d1(ValueOut):
カウンタ現在値
: ANY16
d2(Status):
出力
: ビット
機 能
演算処理
s1 の立上がり(OFFON)を検出してカウントします。
s1 が ON のままではカウントさ
(1) ○
○
s3 の値から開始し,
s2 の値になると,
れません。カウントは ○
d2 が ON します。現在のカウ
○
○
ント値は ○
d1 に格納されます。
s2 の有効設定範囲は,0 ∼ 32767 の値が指定可能です。
(2) ○
s3 の有効設定範囲は,-32768 ∼ 32767 の値が指定可能です。ただし,負の値を指定し
(3) ○
た場合,0 が初期値となります。
5-218
5.11 カウンタファンクションブロック
5.11.4 カウンタファンクションブロック
COUNTER_FB_M
s1 をリセットしてください。
(4) カウンタの現在値をリセットしたい場合は,○
(例)インスタンス名が COUNTER_FB_M_1 の場合
〔構造化ラダ ―/FBD〕
s1 (Coil)をリセットする
○
〔ST〕
COUNTER_FB_M_1(Coil:=Var_M0,Preset:=10,ValueIn:=0,ValueOut:=Var_D10,Sta
tus:=Var_M10);
RST(M15,COUNTER_FB_M_1.Coil);
エラー
カウンタファンクションブロックでの演算エラーはありません。
プログラム例
s1 に入力されたビット型のデータが OFFON に変化した回数を,
d1 から出力するプログラ
○
○
ム。
5
応用関数
〔構造化ラダ ―/FBD〕
COUNTER_FB_M
〔ST〕
COUNTER_FB_M_Inst(Coil:= Var_M0 ,Preset:= 10 ,ValueIn:= 0
,ValueOut:= Var_D10 ,Status:= Var_M10 );
【タイミングチャート】
ON
Var_M0
OFF
Var_D10の値
1
2
3
10
ON
Var_M10
OFF
5.11 カウンタファンクションブロック
5.11.4 カウンタファンクションブロック
5-219
TP(_E), TP_HIGH(_E)
5.12 タイマファンクションブロック
5.12.1
パルスタイマ
TP(_E), TP_HIGH(_E)
Basic
TP(_E)
TP_HIGH(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
TP_HIGH_E
EN
ENO
s
d1
n
d2
入力引数 ,
出力引数 ,
TP
TP_E
TP_HIGH
TP_HIGH_E
ENO:= TP_HIGH_E (EN, s, n, d1, d2);
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(IN):
入力
: ビット
n(PT):
出力時間設定値
: 時間
ENO:
実行結果(TRUE:正常 FALSE:異常または停止)
: ビット
d1(Q):
出力
: ビット
d2(ET):
経過時間
: 時間
機 能
演算処理
d2 には ○
d1 が ON している経過時
s が ON すると,n で設定された時間の間,
d1 を ON します。○
○
○
間がセットされます。
d1 は OFF します。
経過時間が設定時間に到達すると ○
d1 が OFF しても経過時間はリセットされません。
○
d1 が OFF 後,
s が OFF の場合に経過時間をリセットします。
○
○
5-220
5.12 タイマファンクションブロック
5.12.1 パルスタイマ
TP(_E), TP_HIGH(_E)
(1) TP(_E)
経過時間のカウントに低速タイマを使用します。
出力時間を 1ms ∼ 1000ms の単位で設定できます。単位は PC パラメータの PC システ
ム設定のタイマ時限設定で設定します。
n の有効設定範囲は,T#0ms ∼ T#3276700ms です。
(2) TP_HIGH(_E)
経過時間のカウントに高速タイマを使用します。
出力時間を下記の単位で設定できます。単位は PC パラメータの PC システム設定のタイ
マ時限設定で設定します。
CPU ユニット
設定単位
ベーシックモデル QCPU,ハイパフォーマンスモデル QCPU,プロセス CPU,二重化 CPU
0.1ms ∼ 100ms
ユニバーサルモデル QCPU,LCPU
0.01ms ∼ 100ms
n の有効設定範囲は,T#0ms ∼ T#327670ms です。
演算結果
(1) EN/ENO なし関数
d1 ,
d2 からは,演算値が出力されます。
演算処理を実行します。○
○
[ タイミングチャート ]
n=T#5s(5秒)の場合
ON
s
OFF
d1
OFF
ON
ON
OFF
ON
ON
s
s
0
0
1
2
3
=ONにて,d1 をONする。
=ONにて,d2 の時間計測を開始する。
4
d2
d1
5
0
がnで指定した時間に到達すると,
をOFFする。
0
s
d2
1
2
3
4
=OFFかつ d1 =OFFにて
を初期化する。
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
ENO
d1
,d2
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
前回出力値
5.12 タイマファンクションブロック
5.12.1 パルスタイマ
TP(_E),
TP_HIGH(_E)
EN
5
応用関数
d2
OFF
5-221
TP(_E), TP_HIGH(_E)
[ タイミングチャート ]
n=T#5s(5秒)の場合
ON
ON
EN
OFF
s
OFF
ON
ON
ON
ON
ENO
OFF
d1
OFF
OFF
ON
d2
ON
OFF
0
0
1
2
3
4
計測開始後は,EN=ONで
計測時間がアップする。
EN=ONかつ
EN=ONかつ
s
s
=ONにて,d1 をONする。
=ONにて,d2 の時間計測を開始する。
5
0
1
2
3
EN=ONかつ
d2
d2
d1
s =OFFかつ d1 =OFFにて
を初期化する。
がnで指定した時間に到達すると,
をOFFする。
エラー
TP (_E) での演算エラーはありません。
プログラム例
s に入力されたビット型のデータが ON したとき,
d1 のビット型のデータを 10 秒間 ON する
○
○
プログラム。
(a) EN/ENO なし関数 (TP)
〔構造化ラダ ―/FBD〕
〔ST〕
TP_Inst(IN:= g_bool1 ,PT:= T#10s ,Q:= g_bool2 ,ET:= g_time1 );
(b) EN/ENO 付き関数 (TP_E)
〔構造化ラダ ―/FBD〕
〔ST〕
TP_E_Inst(EN:= M0 ,IN:= g_bool1 ,PT:= T#10s ,Q:= g_bool2 ,ET:= g_time1
,ENO:= M10 );
5-222
5.12 タイマファンクションブロック
5.12.1 パルスタイマ
TON(_E), TON_HIGH(_E)
5.12.2
オンディレータイマ
TON(_E), TON_HIGH(_E)
Basic
TON(_E)
TON_HIGH(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
ST
TON_HIGH_E
EN
ENO
s
d1
n
d2
出力引数 ,
TON_E
TON_HIGH
TON_HIGH_E
ENO:= TON_HIGH_E (EN, s, n, d1, d2);
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(IN):
入力
: ビット
n(PT):
遅延時間設定値
: 時間
ENO:
実行結果(TRUE:正常 FALSE:異常または停止)
: ビット
d1(Q):
出力
: ビット
d2(ET): 経過時間
5
: 時間
応用関数
入力引数 ,
TON
機 能
演算処理
d1 を ON します。○
d2 には ○
d1 が ON するまでの遅延
s が ON すると,n で設定された時間の後,
○
○
経過時間がセットされます。
d1 を OFF し遅延経過時間もリセットします。
s が OFF すると ○
○
(1) TON(_E)
経過時間のカウントに低速タイマを使用します。
出力時間を 1ms ∼ 1000ms の単位で設定できます。単位は PC パラメータの PC システ
ム設定のタイマ時限設定で設定します。
n の有効設定範囲は,T#0ms ∼ T#3276700ms です。
5.12 タイマファンクションブロック
5.12.2 オンディレータイマ
5-223
TON(_E),
TON_HIGH(_E)
構造化ラダー/FBD
TON(_E), TON_HIGH(_E)
(2) TON_HIGH(_E)
経過時間のカウントに高速タイマを使用します。
出力時間を下記の単位で設定できます。単位は PC パラメータの PC システム設定のタイ
マ時限設定で設定します。
CPU ユニット
設定単位
ベーシックモデル QCPU,ハイパフォーマンスモデル QCPU,プロセス CPU,二重化 CPU
0.1ms ∼ 100ms
ユニバーサルモデル QCPU,LCPU
0.01ms ∼ 100ms
n の有効設定範囲は,T#0ms ∼ T#327670ms です。
演算結果
(1) EN/ENO なし関数
d1 ,
d2 からは,演算値が出力されます。
○
演算処理を実行します。○
[ タイミングチャート ]
n=T#5s(5秒)の場合
ON
s
OFF
d1
OFF
ON
OFF
ON
OFF
d2
0
0
1
2
3
4
5
0
0
s
=ONにて
d2
がnで指定した時間に到達すると,
s
の立下りにて
d2
の時間計測を開始する。
d1
をONする。
d2
をリセットする。
1
2
3
0
(2) EN/ENO 付き関数
実行条件と演算結果を,下記に示します。
EN
ENO
d1
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
前回出力値
,d2
[ タイミングチャート ]
n=T#5s(5秒)の場合
ON
ON
EN
OFF
s
OFF
ON
ON
ON
ON
ON
OFF
OFF
ENO
ON
d1
d2
OFF
OFF
0
0
1
EN=ONかつ s =ONにて
d2
5-224
の時間計測を開始する。
5.12 タイマファンクションブロック
5.12.2 オンディレータイマ
2
3
4
5
0
d2
がnで指定した時間に到達すると,
EN=ONかつ s =OFFにて
d1
をONする。
d1
=OFFかつ d2 をリセットする。
TON(_E), TON_HIGH(_E)
エラー
TON (_E) での演算エラーはありません。
プログラム例
s に入力されたビット型のデータが ON したとき,10 秒後に ○
○
d1 のビット型のデータを ON す
るプログラム。
(a) EN/ENO なし関数 (TON)
〔構造化ラダ ―/FBD〕
〔ST〕
TON_Inst(IN:= g_bool1 ,PT:= T#10s ,Q:= g_bool2 ,ET:= g_time1 );
(b) EN/ENO 付き関数 (TON_E)
〔構造化ラダ ―/FBD〕
TON(_E),
TON_HIGH(_E)
〔ST〕
TON_E_Inst(EN:= M0 ,IN:= g_bool1 ,PT:= T#10s ,Q:= g_bool2 ,ET:= g_time1
,ENO:= M10 );
応用関数
5
5.12 タイマファンクションブロック
5.12.2 オンディレータイマ
5-225
TOF(_E), TOF_HIGH(_E)
5.12.3
オフディレータイマ
TOF(_E), TOF_HIGH(_E)
Basic
TOF(_E)
TOF_HIGH(_E)
High
performance
Process Redundant Universal
LCPU
_E : EN/ENO 付き
には,下記の関数が入ります。
構造化ラダー/FBD
ST
TOF_HIGH_E
EN
ENO
s
d1
n
d2
入力引数 ,
出力引数 ,
TOF
TOF_E
TOF_HIGH
TOF_HIGH_E
ENO:= TOF_HIGH_E (EN, s, n, d1, d2);
EN:
実行条件(TRUE:実行 FALSE:停止)
: ビット
s(IN):
入力
: ビット
n(PT):
遅延時間設定値
: 時間
ENO:
実行結果(TRUE:正常 FALSE:異常または停止)
: ビット
d1(Q):
出力
: ビット
d2(ET): 経過時間
: 時間
機 能
演算処理
d1 を ON します。
s が ON すると,
○
○
d1 を OFF します。
d2 には ○
d1 が OFF するま
s が ONOFF すると,n で設定された時間の後,
○
○
○
での経過時間がセットされます。
d1 を ON し,経過時間をリセットします。
s が再び ON すると ○
○
(1) TOF(_E)
経過時間のカウントに低速タイマを使用します。
出力時間を 1ms ∼ 1000ms の単位で設定できます。単位は PC パラメータの PC システ
ム設定のタイマ時限設定で設定します。
n の有効設定範囲は,T#0ms ∼ T#3276700ms です。
5-226
5.12 タイマファンクションブロック
5.12.3 オフディレータイマ
TOF(_E), TOF_HIGH(_E)
(2) TOF_HIGH(_E)
経過時間のカウントに高速タイマを使用します。
出力時間を下記の単位で設定できます。単位は PC パラメータの PC システム設定のタイ
マ時限設定で設定します。
CPU ユニット
設定単位
ベーシックモデル QCPU,ハイパフォーマンスモデル QCPU,プロセス CPU,二重化 CPU
0.1ms ∼ 100ms
ユニバーサルモデル QCPU,LCPU
0.01ms ∼ 100ms
n の有効設定範囲は,T#0ms ∼ T#327670ms です。
演算結果
(1) EN/ENO なし関数
d1 ,
d2 からは,演算値が出力されます。
○
演算処理を実行します。○
[ タイミングチャート ]
n=T#5s(5秒)
の場合
ON
s
OFF
d1
OFF
ON
ON
OFF
OFF
ON
ON
OFF
d2
0
s
d2
0
1
2
=OFFにて
の時間計測を開始する。
d2
d1
3
4
5
0
がnで指定した時間に到達すると
をOFFする。
s
d2
1
2
3
4
0
1
=ONにて
をリセットする。
(2) EN/ENO 付き関数
5
実行条件と演算結果を,下記に示します。
EN
ENO
d1
TRUE(演算実行)
TRUE
演算出力値
FALSE(演算停止)
FALSE
前回出力値
応用関数
,d2
[ タイミングチャート ]
n=T#5s(5秒)の場合
ON
OFF
ON
ON
OFF
OFF
OFF
ON
s
OFF
ON
TOF(_E),
TOF_HIGH(_E)
ON
EN
OFF
ON
ON
OFF
OFF
ON
ON
ENO OFF
ON
OFF
ON
OFF
ON
OFF
OFF
ON
d1
d2
OFF
0
0
1
EN=ONかつ s =OFFで
d2
の時間計測を開始する。
2
3
4
0
0
1
0
EN=ONかつ s =ONにて
d2
をリセットする。
5.12 タイマファンクションブロック
5.12.3 オフディレータイマ
5-227
TOF(_E), TOF_HIGH(_E)
エラー
TOF(_E) での演算エラーはありません。
プログラム例
d1 のビット型のデータを ON し,
s に入力されたビット型のデータが ON した時に ○
s が OFF
○
○
d1 を OFF するプログラム。
したとき,10 秒後に ○
(a) EN/ENO なし関数 (TOF)
〔構造化ラダ ―/FBD〕
〔ST〕
TOF_Inst(IN:= g_bool1 ,PT:= T#10s ,Q:= g_bool2 ,ET:= g_time1 );
(b) EN/ENO 付き関数 (TOF_E)
〔構造化ラダ ―/FBD〕
〔ST〕
TOF_E_Inst(EN:= M0 ,IN:= g_bool1 ,PT:= T#10s ,Q:= g_bool2 ,ET:= g_time1
,ENO:= M10 );
5-228
5.12 タイマファンクションブロック
5.12.3 オフディレータイマ
TIMER_10_FB_M
5.12.4
タイマファンクションブロック
TIMER_10_FB_M
Basic
High
performance
Process Redundant Universal
LCPU
TIMER_10_FB_M
TIMER_100_FB_M
TIMER_HIGH_FB_M
TIMER_LOW_FB_M
TIMER_CONT_FB_M
TIMER_CONTHFB_M
には,下記の関数が入ります。
構造化ラダー/FBD
ST
TIMER_10_FB_M
s1
d1
s2
d2
TIMER_10_FB_M (s1, s2, s3, d1, d2)
TIMER_10_FB_M
TIMER_100_FB_M
TIMER_HIGH_FB_M
TIMER_LOW_FB_M
TIMER_CONT_FB_M
TIMER_CONTHFB_M
s3
実行条件(TRUE:実行 FALSE:停止)
: ビット
タイマ設定値
: ワード[符号付き]
s3(ValueIn):
タイマ初期値
: ワード[符号付き]
d1(ValueOut): タイマ現在値
: ANY16
d2(Status):
: ビット
出力
5
応用関数
出力引数 ,
s1(Coil):
s2(Preset):
機 能
演算処理
(1) TIMER_10_FB_M
s1 の実行条件が ON すると,現在値の計測を開始します。
(a) ○
s3 10ms から計測を開始し,
s2 10ms まで計測値が到着すると,
d2 が ON します。
○
○
○
現在の計測値は,○
d1 に出力されます。
s1 の実行条件が OFF すると,現在値は ○
s3 の値となり,
(b) ○
d2 も OFF します。
○
(c) 高速タイマの計測単位(時限設定)を PC パラメータのデフォルト値から変更した場
合,コンパイル時に C9047 のワーニングが発生します。
s2 の有効設定範囲は,0 ∼ 32767 です。
(d) ○
s3 の有効設定範囲は,-32768 ∼ 32767 です。ただし,負の値を指定した場合,0
(e) ○
が初期値となります。
5.12 タイマファンクションブロック
5.12.4 タイマファンクションブロック
5-229
TIMER_10_FB_M
入力引数 ,
TIMER_10_FB_M
(2) TIMER_100_FB_M
s1 の実行条件が ON すると,現在値の計測を開始します。
(a) ○
s3 100ms から計測を開始し,
s2 100ms まで計測値が到達すると ○
d2 が ON します。
○
○
現在の計測値を ○
d1 から出力します。
s1 の実行条件が OFF すると,現在値は ○
s3 の値となり,
(b) ○
d2 も OFF します。
○
(c) 低速タイマの計測単位(時限設定)を PC パラメータのデフォルト値から変更した場
合,コンパイル時に C9214 のワーニングが発生します。
s2 の有効設定範囲は,0 ∼ 32767 です。
(d) ○
s3 の有効設定範囲は,-32768 ∼ 32767 です。ただし,負の値を指定した場合,0
(e) ○
が初期値となります。
(3) TIMER_HIGH_FB_M
s1 の実行条件が ON すると,現在値の
(a) 計測単位が 0.1 ∼ 100ms の高速タイマです。○
s3 0.1 ∼ 100ms から計測を開始し,
s2 0.1 ∼ 100ms まで計測
計測を開始します。○
○
値が到達すると ○
d2 が ON します。
現在の計測値を ○
d1 から出力します。
s1 の実行条件が OFF すると,現在値は ○
s3 の値となり,
(b) ○
d2 も OFF します。
○
(c) 高速タイマの計測単位(時限)は,デフォルト値が 10ms です。
計測単位は下記の範囲で変更できます。
設定は,PC パラメータの PC システム設定で行います。
CPU ユニット
設定単位
ベーシックモデル QCPU,ハイパフォーマンスモデル QCPU,プロセス CPU,二重化 CPU
0.1ms ∼ 100ms
ユニバーサルモデル QCPU,LCPU
0.01ms ∼ 100ms
s2 の有効設定範囲は,0 ∼ 32767 です。
(d) ○
s3 の有効設定範囲は,-32768 ∼ 32767 です。ただし,負の値を指定した場合,0
(e) ○
が初期値となります。
(4) TIMER_LOW_FB_M
s1 の実行条件が ON すると,現在値の計
(a) 計測単位が 1 ∼ 1000ms の低速タイマです。○
s3 1 ∼ 1000ms から計測を開始し,
s2 1 ∼ 1000ms まで計測値が
測を開始します。○
○
到達すると ○
d2 が ON します。
現在の計測値を ○
d1 から出力します。
s1 の実行条件が OFF すると,現在値は ○
s3 の値となり,
(b) ○
d2 も OFF します。
○
(c) 低速タイマの計測単位(時限)は,デフォルト値が 100ms です。
計測単位は 1 ∼ 1000ms で,1ms 単位で変更できます。
設定は,PC パラメータの PC システム設定で行います。
5-230
5.12 タイマファンクションブロック
5.12.4 タイマファンクションブロック
TIMER_10_FB_M
s2 の有効設定範囲は,0 ∼ 32767 です。
(d) ○
s3 の有効設定範囲は,-32768 ∼ 32767 です。ただし,負の値を指定した場合,0
(e) ○
が初期値となります。
(5) TIMER_CONT_FB_M,TIMER_CONTHFB_M
s1 の実行条件が ON すると,現
(a) 変数が ON している時間を計測する積算タイマです。○
在値の計測を開始します。積算タイマには低速積算タイマ TIMER_CONT_FB_M と
高速積算タイマ TIMER_CONTHFB_M の2種類があります。
s3 1 ∼ 1000ms から計測を開始し,
s2 1 ∼ 1000ms まで計測値が到達すると ○
d2 が
○
○
ON します。現在の計測値を ○
d1 から出力します。
s1 の実行条件が OFF しても,計測値 ○
(b) ○
d1 ,
d2 の ON/OFF 状態を保持します。再度
○
s1 の実行条件が ON すると,保持していた計測値から計測を再開します。
○
(c) 積算タイマの計測単位(時限)は,低速タイマ TIMER_LOW_FB_M,高速タイマ
TIMER_HIGH_FB_M と同一です。
• 低速積算タイマ:低速タイマ
• 高速積算タイマ:高速タイマ
s2 の有効設定範囲は,0 ∼ 32767 です。
(d) ○
s3 の有効設定範囲は,-32768 ∼ 32767 です。ただし,負の値を指定した場合,0
(e) ○
が初期値となります。
5
s1 をリセットしてください。
(f) 積算タイマの計測値をリセットしたい場合は,○
s1 (Coil)をリセットする
○
〔ST〕
TIMER_CONT_FB_M_1(Coil:=Var_M0,Preset:=10,ValueIn:=0,ValueOut:=Var_
D10,Status:=Var_M10);
RST(M15,TIMER_CONT_FB_M_1.Coil);
エラー
タイマファンクションブロックでの演算エラーはありません。
5.12 タイマファンクションブロック
5.12.4 タイマファンクションブロック
5-231
TIMER_10_FB_M
応用関数
(例)インスタンス名が TIMER_CONT_FB_M_1 の場合
〔構造化ラダ ―/FBD〕
TIMER_10_FB_M
プログラム例
(1) TIMER_10_FB_M
s1 に入力された実行条件が ON し,
s3 10ms から ○
s2 10ms まで計測値が到達すると
○
○
d2 が ON するプログラム。
○
〔構造化ラダ ―/FBD〕
〔ST〕
TIMER_10_FB_M_Inst(Coil:= Var_M0 ,Preset:= 10 ,ValueIn:= 1 ,ValueOut:=
Var_D10 ,Status:= Var_M10 );
〔タイミングチャート〕
ON
Var_M0
OFF
10
Var_D10の値 1
Var_M10
90ms
OFF
(2) TIMER_HIGH_FB_M
s1 に入力された実行条件が ON し,
s3 10ms から ○
s2 10ms まで計測値が到達すると
○
○
d2 が ON するプログラム。
○
〔構造化ラダ ―/FBD〕
〔ST〕
TIMER_HIGH_FB_M_Inst(Coil:= Var_M0 ,Preset:= 10 ,ValueIn:= 1 ,ValueOut:=
Var_D10 ,Status:= Var_M10);
〔タイミングチャート〕
ON
Var_M0
OFF
Var_D10の値 1
Var_M10
5-232
10
90ms
OFF
5.12 タイマファンクションブロック
5.12.4 タイマファンクションブロック
TIMER_10_FB_M
(3) TIMER_LOW_FB_M
s1 に入力された実行条件が ON し,
s3 10ms から ○
s2 100ms まで計測値が到達すると
○
○
d2 が ON するプログラム。
○
〔構造化ラダ ―/FBD〕
〔ST〕
TIMER_LOW_FB_M_Inst(Coil:= Var_M0 ,Preset:= 10 ,ValueIn:= 1 ,ValueOut:=
Var_D10 ,Status:= Var_M10);
〔タイミングチャート〕
ON
Var_M0
OFF
10
Var_D10の値 1
Var_M10
900ms
OFF
(4) TIMER_CONT_FB_M
s1 が ON している時間を計測し,
s3 10ms から ○
s2 100ms まで計測値が到達すると,
○
○
d2 が ON するプログラム。
○
5
〔ST〕
TIMER_CONT_FB_M_Inst(Coil:= Var_M0 ,Preset:= 200 ,ValueIn:= 0 ,Value
Out:= Var_D10 ,Status:= Var_M10);
〔タイミングチャート〕
ON
Var_M0
15秒
OFF
Var_D10の値
0
1
5秒
150
151 200
ON
Var_M10
OFF
5.12 タイマファンクションブロック
5.12.4 タイマファンクションブロック
5-233
TIMER_10_FB_M
応用関数
〔構造化ラダ ―/FBD〕
メ モ
5-234
6
概 要
1
オペレータ
関数一覧
2
算術演算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.2
ビット型ブール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
6.3
比較演算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
4
関数の見方
6.1
関数の構成
3
応用関数
5
オペレータ
6
索 引
索
6-1
ADD,+
6.1 算術演算
6.1.1
加算
ADD,+
Basic
High
performance
Process Redundant Universal
LCPU
ADD
+
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
ADD
ADD
s1
対応していません。
d
s2
s28
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
対応していません。
d:=s1 + s2
+
s28;
入力引数 ,
s1 ∼ s28:
入力
: ANY_NUM
出力引数 ,
d:
出力
: ANY_NUM
機 能
演算処理
演算処理については,5.3.1 項を参照してください。
エラー
ADD,+での演算エラーはありません。
6-2
6.1 算術演算
6.1.1 加算
ADD,+
プログラム例
s1 ,
s2 に入力されたダブルワード [ 符号付き ] 型データの加算( ○
s1 + ○
s2 )を行い,演算結果を
○
○
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
○
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint3:= (g_dint1) + (g_dint2);
ADD,+
オペレータ
6
6.1 算術演算
6.1.1 加算
6-3
MUL,*
6.1.2
乗算
MUL,*
Basic
High
performance
Process Redundant Universal
LCPU
MUL
*
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
MUL
MUL
s1
対応していません。
d
s2
s28
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
対応していません。
d:=s1 * s2
*
s28;
入力引数 ,
s1 ∼ s28:
入力
: ANY_NUM
出力引数 ,
d:
出力
: ANY_NUM
機 能
演算処理
演算処理については,5.3.2 項を参照してください。
エラー
MUL,*での演算エラーはありません。
6-4
6.1 算術演算
6.1.2 乗算
MUL,*
プログラム例
s1 ,
s2 に入力されたダブルワード [ 符号付き ] 型データの乗算( ○
s1
○
○
s2 )を行い,演算結果を
○
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
○
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint3:= (g_dint1) * (g_dint2);
MUL,*
オペレータ
6
6.1 算術演算
6.1.2 乗算
6-5
SUB,−
6.1.3
減算
SUB,−
Basic
High
performance
Process Redundant Universal
LCPU
SUB
−
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
SUB
SUB
s1
対応していません。
d
s2
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
対応していません。
d:=s1 - s2;
入力引数 ,
s1:
s2:
出力引数 ,
d:
入力
: ANY_NUM
出力
: ANY_NUM
機 能
演算処理
演算処理については,5.3.3 項を参照してください。
エラー
SUB, −での演算エラーはありません。
6-6
6.1 算術演算
6.1.3 減算
−
SUB,−
プログラム例
s1 ,
s2 に入力されたダブルワード [ 符号付き ] 型データの減算( ○
s1  ○
s2 )を行い,演算結果を
○
○
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
○
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint3:= (g_dint1) - (g_dint2);
SUB,−
オペレータ
6
6.1 算術演算
6.1.3 減算
6-7
DIV,/
6.1.4
除算
DIV,/
Basic
High
performance
Process Redundant Universal
LCPU
DIV
/
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
DIV
DIV
s1
対応していません。
d
s2
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
対応していません。
入力引数 ,
s1:
s2:
出力引数 ,
d:
d:=s1 /
/
s2;
入力
: ANY_NUM
出力
: ANY_NUM
機 能
演算処理
演算処理については,5.3.4 項を参照してください。
エラー
下記の場合には演算エラーとなります。
s2 へ入力される値が0のとき。
・ ○
(0割り)
6-8
6.1 算術演算
6.1.4 除算
(エラーコード 4100)
DIV,/
プログラム例
s1 ,
s2 に入力されたダブルワード [ 符号付き ] 型データの除算( ○
s1 ÷ ○
s2 )を行い,演算結果の
○
○
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
商を ○
〔構造化ラダ ―/FBD〕
〔ST〕
g_dint3:= (g_dint1) / (g_dint2);
DIV,/
オペレータ
6
6.1 算術演算
6.1.4 除算
6-9
MOD
6.1.5
剰余
MOD
Basic
High
performance
Process Redundant Universal
LCPU
MOD
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
対応していません。
d:=s1 MOD s2;
入力引数 ,
s1:
s2:
出力引数 ,
d:
MOD
入力
: ANY_INT
出力
: ANY_INT
機 能
演算処理
演算処理については,5.3.5 項を参照してください。
エラー
下記の場合には演算エラーとなります。
s2 へ入力される値が0のとき。
・ ○
(0割り)
(エラーコード 4100)
プログラム例
s1 ,
s2 に入力されたダブルワード [ 符号付き ] 型データの除算
○
○
s1 ÷ ○
s2 )を行い,演算結果の余りを ○
d から ○
s1 ,
s2 と同一のデータ型で出力するプログラム。
○
(○
〔ST〕
g_dint3:= (g_dint1) MOD (g_dint2);
6-10
6.1 算術演算
6.1.5 剰余
**
6.1.6
べき乗
**
Basic
High
performance
Process Redundant Universal
LCPU
**
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
対応していません。
d:=s1 ** s2;
入力引数 ,
出力引数 ,
**
s1:
入力
: ANY_REAL
s2:
入力
: ANY_NUM
d:
出力
: ANY_REAL
機 能
演算処理
6
演算処理については,5.3.6 項を参照してください。
オペレータ
エラー
本オペレータは,下記の共通命令を使用して作られています。
s1 が単精度実数,○
s2 がワード [ 符号付き ] の場合 : LOG,FLT
○
s1 が単精度実数,○
s2 がダブルワード [ 符号付き ] の場合 : LOG,DFLT
○
s1 が単精度実数,○
s2 が単精度実数 の場合 : LOG
○
s1 が単精度実数,○
s2 が倍精度実数 の場合 : LOGD,DFLTD
○
s1 が倍精度実数,○
s2 がワード [ 符号付き ] の場合 : LOGD
○
**
s1 が倍精度実数,○
s2 がダブルワード [ 符号付き ] の場合 : LOGD,FLTD
○
s1 が倍精度実数,○
s2 が単精度実数 の場合 : LOGD,DFLTD
○
s1 が倍精度実数,○
s2 が倍精度実数 の場合 : LOGD
○
オペレータ実行時に発生するエラーについては,MELSEC-Q/L 構造化プログラミングマ
ニュアル(共通命令編)を参照してください。
6.1 算術演算
6.1.6 べき乗
6-11
**
プログラム例
s1 ,
s2 と同一のデータ型で出力するプログラム。
d から ○
○
べき乗を行い,演算結果を ○
〔ST〕
g_real2:= (g_real1)**(g_int1);
6-12
6.1 算術演算
6.1.6 べき乗
AND,&,OR,XOR,NOT
6.2 ビット型ブール
6.2.1
論理積,論理和,排他的論理和,論理否定
AND,&,OR,XOR,NOT
Basic
High
performance
Process Redundant Universal
LCPU
AND
&
OR
XOR
NOT
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
AND
OR
AND
s1
d
対応していません。
XOR
s2
s28
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
AND
&
OR
入力引数 ,
s1 ∼ s28:
XOR
d:=s1 AND s2
s28,d);
入力
: ANY_BIT
(NOT は s1 のみ )
d:
出力
: ANY_BIT
AND,&,OR,
XOR,NOT
出力引数
6
NOT
オペレータ
対応していません。
機 能
演算処理
演算処理については,5.4.1 項を参照してください。
エラー
AND,&,OR,XOR,NOT での演算エラーはありません。
6.2 ビット型ブール
6.2.1 論理積,論理和,排他的論理和,論理否定
6-13
AND,&,OR,XOR,NOT
プログラム例
s1 ∼
(1) ○
に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型データをビットごとに
s1 ∼
d から ○
論理積を行い,演算結果を ○
と同一のデータ型で出力するプログラム。
〔構造化ラダ ―/FBD〕
〔ST〕
g_word3 :=(g_word1) AND (g_word2);
または
g_word3 :=(g_word1) & (g_word2); s1 ∼
(2) ○
に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型データをビットごとに
s1 ∼
d から ○
論理和を行い,演算結果を ○
と同一のデータ型で出力するプログラム。
〔構造化ラダ ―/FBD〕
〔ST〕
g_word3 :=(g_word1) OR (g_word2);
s1 ∼
(3) ○
に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型データをビットごとに
s1 ∼
d から ○
排他的論理和を行い,演算結果を ○
と同一のデータ型で出力するプログラム。
〔構造化ラダ ―/FBD〕
〔ST〕
g_word3 :=(g_word1) XOR (g_word2);
6-14
6.2 ビット型ブール
6.2.1 論理積,論理和,排他的論理和,論理否定
AND,&,OR,XOR,NOT
s1 に入力されたワード [ 符号なし ]/ ビット列 [16 ビット ] 型データをビットごとに論理
(4) ○
s1 と同一のデータ型で出力するプログラム。
d から ○
否定を行い,演算結果を ○
〔構造化ラダ ―/FBD〕
〔ST〕
g_word2 :=NOT (g_word1);
AND,&,OR,
XOR,NOT
オペレータ
6
6.2 ビット型ブール
6.2.1 論理積,論理和,排他的論理和,論理否定
6-15
GT,GE,EQ,LE,LT,NE >,>=,=,<=,<,<>
6.3 比較演算
6.3.1
比較
GT,GE,EQ,LE,LT,NE
>,>=,=,<=,<,<>
Basic
High
performance
Process Redundant Universal
LCPU
GT >
GE >=
EQ =
LE <=
LT <
NE <>
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
GT
s1
対応していません。
d
GT
GE
EQ
LE
s2
LT
s28
NE
には,下記のオペレータが入ります。
構造化ラダー/FBD
ST
>
>=
=
対応していません。
d:=s1 > s2
s28;
<=
<
<>
入力引数 ,
s1 ∼ s28:
入力
(NE,<> は s1,s2 のみ )
出力引数 ,
d:
出力(TRUE:真値 FALSE:偽値)
: ANY_SIMPLE
: ビット
機 能
演算処理
演算処理については,5.6.1 項を参照してください。
エラー
GT,GE,EQ,LE,LT,NE,>,>=,=,<=,<,<>での演算エラーはありません。
6-16
6.3 比較演算
6.3.1 比較
GT,GE,EQ,LE,LT,NE >,>=,=,<=,<,<>
プログラム例
s2 に入力された入力値の比較演算を行い,演算結果を ○
s1 ,
d から出力するプログラム。
○
○
〔構造化ラダ ―/FBD〕
〔ST〕
g_bool1 := (g_int1)  (g_int2);
GT,GE,EQ,LE,
LT,NE >,>=,
=,<=,<,<>
オペレータ
6
6.3 比較演算
6.3.1 比較
6-17
メ モ
6-18
索 引
オペレータ
応用関数
関数の見方
関数の構成
関数一覧
索 引
概 要
1
2
3
4
5
6
索
索引 -1
【A】
【G】
ABS(_E) ............................................................... 5-127
ADD ........................................................................... 6-2
ADD_E .................................................................. 5-131
ADD_TIME(_E) ................................................... 5-186
AND .........................................................................6-13
AND_E .................................................................. 5-152
【B】
BCD_TO_DINT(_E) ..............................................5-96
BCD_TO_INT(_E) .................................................5-96
BCD_TO_STR(_E) ............................................. 5-100
BITARR_TO_DINT(_E) ..................................... 5-113
BITARR_TO_INT(_E) ........................................ 5-113
BOOL_TO_DINT(_E) ............................................. 5-2
BOOL_TO_DWORD(_E) ....................................... 5-7
BOOL_TO_INT(_E) ................................................ 5-2
BOOL_TO_STR(_E) ............................................... 5-5
BOOL_TO_TIME(_E) ...........................................5-10
BOOL_TO_WORD(_E) .......................................... 5-7
【C】
CONCAT(_E) ...................................................... 5-175
COUNTER_FB_M .............................................. 5-218
CPY_BITARR(_E) .............................................. 5-117
CPY_BIT_OF_INT(_E) ....................................... 5-123
CTD(_E) ............................................................... 5-211
CTUD(_E) ............................................................ 5-214
CTU(_E) ............................................................... 5-208
【D】
DELETE(_E) ........................................................ 5-180
DINT_TO_BCD(_E) ..............................................5-35
DINT_TO_BITARR(_E) ..................................... 5-115
DINT_TO_BOOL(_E) ...........................................5-16
DINT_TO_DWORD(_E) .......................................5-32
DINT_TO_INT(_E) .................................................5-14
DINT_TO_LREAL(_E) ..........................................5-22
DINT_TO_REAL(_E) ............................................5-19
DINT_TO_STR(_E) ...............................................5-25
DINT_TO_TIME(_E) .............................................5-38
DINT_TO_WORD(_E) ..........................................5-29
DIV ............................................................................. 6-8
DIV_E .................................................................... 5-140
DIV_TIME(_E) ..................................................... 5-195
DIV(_E) ..................................................................... 6-8
DWORD_TO_BOOL(_E) .....................................5-55
DWORD_TO_DINT(_E) .......................................5-61
DWORD_TO_INT(_E) ..........................................5-61
DWORD_TO_STR(_E) .........................................5-69
DWORD_TO_TIME(_E) .......................................5-72
DWORD_TO_WORD(_E) ....................................5-66
【E】
EQ ............................................................................6-16
EQ_E ..................................................................... 5-169
EXPT(_E) ............................................................. 5-146
【F】
F_TRIG(_E) ......................................................... 5-206
索引 -2
GE ............................................................................ 6-16
GE_E ......................................................................5-169
GET_BIT_OF_INT(_E) .......................................5-119
GET_BOOL_ADDR ............................................5-125
GET_INT_ADDR .................................................5-125
GET_WORD_ADDR ...........................................5-125
GT ............................................................................ 6-16
GT_E .....................................................................5-169
【I】
INSERT(_E) .........................................................5-177
INT_TO_BCD(_E) ................................................. 5-35
INT_TO_BITARR(_E) ........................................5-115
INT_TO_BOOL(_E) .............................................. 5-16
INT_TO_DINT(_E) ................................................ 5-12
INT_TO_DWORD(_E) .......................................... 5-32
INT_TO_LREAL(_E) ............................................ 5-22
INT_TO_REAL(_E) ............................................... 5-19
INT_TO_STR(_E) ................................................. 5-25
INT_TO_TIME(_E) ................................................ 5-38
INT_TO_WORD(_E) ............................................. 5-29
【L】
LE ............................................................................. 6-16
LE_E ......................................................................5-169
LIMITATION(_E) ................................................5-163
LREAL_TO_DINT(_E) ......................................... 5-44
LREAL_TO_INT(_E) ............................................ 5-44
LREAL_TO_REAL(_E) ........................................ 5-49
LT ............................................................................ 6-16
LT_E ......................................................................5-169
【M】
MAXIMUM(_E) ...................................................5-160
MID(_E) ................................................................5-172
MINIMUM(_E) .....................................................5-160
MOD ........................................................................ 6-10
MOD_E .................................................................5-143
MOVE(_E) ............................................................5-149
MUL_E ......................................................... 5-134, 6-4
MUL_TIME(_E) ...................................................5-192
MUX(_E) ..............................................................5-166
【N】
NE ............................................................................ 6-16
NE_E ......................................................................5-169
NOT ......................................................................... 6-13
NOT_E ..................................................................5-152
【O】
OR ........................................................................... 6-13
OR_E .....................................................................5-152
【R】
REAL_TO_DINT(_E) ............................................ 5-41
REAL_TO_INT(_E) ............................................... 5-41
REAL_TO_LREAL(_E) ........................................ 5-47
REAL_TO_STR(_E) ............................................. 5-51
REPLACE(_E) .....................................................5-183
RS(_E) .................................................................. 5-200
R_TRIG(_E) ......................................................... 5-203
【S】
SEL(_E) ................................................................ 5-157
SET_BIT_OF_INT(_E) ....................................... 5-121
SR(_E) .................................................................. 5-197
STR_TO_BCD(_E) ................................................5-91
STR_TO_BOOL(_E) .............................................5-75
STR_TO_DINT(_E) ...............................................5-77
STR_TO_DWORD(_E) .........................................5-84
STR_TO_INT(_E) ..................................................5-77
STR_TO_REAL(_E) ..............................................5-80
STR_TO_TIME(_E) ...............................................5-88
STR_TO_WORD(_E) ............................................5-84
SUB ............................................................................ 6-6
SUB_E .................................................................. 5-137
SUB_TIME(_E) ................................................... 5-189
【T】
TIME_TO_BOOL(_E) ........................................ 5-103
TIME_TO_DINT(_E) .......................................... 5-105
TIME_TO_DWORD(_E) .................................... 5-110
TIME_TO_INT(_E) ............................................. 5-105
TIME_TO_STR(_E) ............................................ 5-108
TIME_TO_WORD(_E) ....................................... 5-110
TOF_HIGH(_E) ................................................... 5-226
TOF(_E) ............................................................... 5-226
TON_HIGH(_E) ................................................... 5-223
TON(_E) ............................................................... 5-223
TP_HIGH(_E) ...................................................... 5-220
TP(_E) .................................................................. 5-220
【W】
WORD_TO_BOOL(_E) ........................................5-55
WORD_TO_DINT(_E) ..........................................5-58
WORD_TO_DWORD(_E) ....................................5-64
WORD_TO_INT(_E) .............................................5-58
WORD_TO_STR(_E) ............................................5-69
WORD_TO_TIME(_E) ..........................................5-72
【エ】
エッジ検出ファンクションブロック一覧 ...............2-7
【オ】
オペレータ一覧 .........................................................2-8
【カ】
カウンタファンクションブロック一覧 ...................2-7
型変換関数一覧 .........................................................2-3
関数一覧 .....................................................................2-1
関数一覧表の見方 ......................................................2-2
関数の構成 .................................................................3-2
関数の見方 .................................................................4-1
【サ】
算術演算関数一覧 .............................................2-5, 2-8
【シ】
時刻データ型関数一覧 ..............................................2-6
【セ】
選択関数一覧 .............................................................2-5
【タ】
タイマファンクションブロック一覧 .......................2-7
単数値変数関数一覧 ..................................................2-5
【ニ】
二安定ファンクションブロック一覧 .......................2-6
入力ピン数可変関数 ..................................................3-3
【ヒ】
比較関数一覧 ....................................................2-6, 2-8
ビット型ブール関数一覧 .................................2-5, 2-8
【モ】
文字列関数一覧 .........................................................2-6
【X】
XOR .........................................................................6-13
XOR_E .................................................................. 5-152
索
【記号】
索 引
− ................................................................................ 6-6
< ..............................................................................6-16
& ..............................................................................6-13
* ................................................................................ 6-4
** ..............................................................................6-11
+ ................................................................................ 6-2
<= ..........................................................................6-16
<> ..........................................................................6-16
/ .................................................................................. 6-8
= ..............................................................................6-16
> ..............................................................................6-16
>= ..........................................................................6-16
索引 -3
メ モ
索引 -4
保証について
ご使用に際しましては,以下の製品保証内容をご確認いただきますよう,よろしくお願いいたします。
1.無償保証期間と無償保証範囲
無償保証期間中に,製品に当社側の責任による故障や瑕疵(以下併せて「故障」と呼びます)が発生した場合,当
社はお買い上げいただきました販売店または当社サービス会社を通じて,無償で製品を修理させていただきます。
ただし,国内および海外における出張修理が必要な場合は,技術者派遣に要する実費を申し受けます。
また,故障ユニットの取替えに伴う現地再調整・試運転は当社責務外とさせていただきます。
【無償保証期間】
製品の無償保証期間は,お客様にてご購入後またはご指定場所に納入後 36ヵ月とさせていただきます。
ただし,当社製品出荷後の流通期間を最長 6ヵ月として,製造から 42ヵ月を無償保証期間の上限とさせていただ
きます。また,修理品の無償保証期間は,修理前の無償保証期間を超えて長くなることはありません。
【無償保証範囲】
(1) 一次故障診断は,原則として貴社にて実施をお願い致します。
ただし,貴社要請により当社,または当社サービス網がこの業務を有償にて代行することができます。この場
合,故障原因が当社側にある場合は無償と致します。
(2) 使用状態・使用方法,および使用環境などが,取扱説明書,ユーザーズマニュアル,製品本体注意ラベルなど
に記載された条件・注意事項などに従った正常な状態で使用されている場合に限定させていただきます。
(3) 無償保証期間内であっても,以下の場合には有償修理とさせていただきます。
① お客様における不適切な保管や取扱い,不注意,過失などにより生じた故障およびお客様のハードウェア
またはソフトウェア設計内容に起因した故障。
② お客様にて当社の了解なく製品に改造などの手を加えたことに起因する故障。
③ 当社製品がお客様の機器に組み込まれて使用された場合,お客様の機器が受けている法的規制による安全
装置または業界の通念上備えられているべきと判断される機能・構造などを備えていれば回避できたと認
められる故障。
④ 取扱説明書などに指定された消耗部品が正常に保守・交換されていれば防げたと認められる故障。
⑤ 消耗部品(バッテリ,リレー,ヒューズなど)の交換。
⑥ 火災,異常電圧などの不可抗力による外部要因および地震,雷,風水害などの天変地異による故障。
⑦ 当社出荷当時の科学技術の水準では予見できなかった事由による故障。
⑧ その他,当社の責任外の場合またはお客様が当社責任外と認めた故障。
2.生産中止後の有償修理期間
(1) 当社が有償にて製品修理を受け付けることができる期間は,その製品の生産中止後 7 年間です。
生産中止に関しましては,当社テクニカルニュースなどにて報じさせていただきます。
(2) 生産中止後の製品供給(補用品も含む)はできません。
3.海外でのサービス
海外においては,当社の各地域 FA センターで修理受付をさせていただきます。ただし,各 FA センターでの修理
条件などが異なる場合がありますのでご了承ください。
4.機会損失,二次損失などへの保証責務の除外
無償保証期間の内外を問わず,当社の責に帰すことができない事由から生じた障害,当社製品の故障に起因するお
客様での機会損失,逸失利益,当社の予見の有無を問わず特別の事情から生じた損害,二次損害,事故補償,当社
製品以外への損傷,およびお客様による交換作業,現地機械設備の再調整,立上げ試運転その他の業務に対する補
償については,当社責務外とさせていただきます。
5.製品仕様の変更
カタログ,マニュアルもしくは技術資料などに記載の仕様は,お断りなしに変更させていただく場合がありますの
で,あらかじめご承知おきください。
以 上
サービスネットワーク(三菱電機システムサービス株式会社)
北海道支店
(011)890−7515
新潟機器サービスステーション
(025)241−7261
北陸支店
(076)252−9519
京滋機器サービスステーション
(075)611−6211
関西機電支社
(06)6458−9728
姫路機器サービスステーション
(079)281−1141
中四国支社
(082)285−2111
北日本支社
(022)238−1761
東京機電支社
(03)3454−5521
神奈川機器サービスステーション
(045)938−5420
関越機器サービスステーション
(048)859−7521
静岡機器サービスステーション
(054)287−8866
中部支社
(052)722−7601
四国支店
(087)831−3186
岡山機器サービスステーション
(086)242−1900
九州支社
(092)483−8208
長崎機器サービスステーション
(095)818−0700
Microsoft,Windows,Windows NT,Windows Vista は,米国 Microsoft Corporation の米国およびその他の国に
おける登録商標です。
Pentium は,Intel Corporation の米国およびその他の国における商標です。
Ethernet は,米国 Xerox Corporation の商標です。
PC-9800,PC98-NX は,日本電気株式会社の登録商標です。
SD ロゴ,SDHC ロゴは商標です。
その他,本文中における会社名,商品名は,各社の商標または登録商標です。
SH(名)-080737-O