安全上のご注意 ( ご使用前に必ずお読みください ) 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.4028238 ∼ -1.1754938,0,または 1.1754938 ∼ 3.4028238 以 外のとき。 ( エラーコード 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.4028238 ∼ -1.1754938,0,または 1.1754938 ∼ 3.4028238 以外のとき。 (エラーコード 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 (n1) > ○ s (n)] の比較を行います。 (a) GT_E()[ ○ s (n1) > ○ s (n) のとき,TRUE を出力します。 • すべて ○ s (n1) ≦ ○ s (n) のとき,FALSE を出力します。 • いずれかが ○ s1 ≧ ○ s2 ]&[ ○ s2 ≧ ○ s3 ]&・・・&[ ○ s (n1) ≧ ○ s (n)] の比較を行います。 (b) GE_E( ≧ )[ ○ s (n1) ≧ ○ s (n) のとき,TRUE を出力します。 • すべて ○ s (n1) < ○ s (n) のとき,FALSE を出力します。 • いずれかが ○ s1 = ○ s2 ]&[ ○ s2 = ○ s3 ]&・・・&[ ○ s (n1) = ○ s (n)] の比較を行います。 (c) EQ_E( = )[ ○ s (n1) = ○ s (n) のとき,TRUE を出力します。 • すべて ○ s (n1) ≠ ○ s (n) のとき,FALSE を出力します。 • いずれかが ○ s1 ≦ ○ s2 ]&[ ○ s2 ≦ ○ s3 ]&・・・&[ ○ s (n1) ≦ ○ s (n)] の比較を行います。 (d) LE_E( ≦ )[ ○ s (n1) ≦ ○ s (n) のとき,TRUE を出力します。 • すべて ○ s (n1) > ○ s (n) のとき,FALSE を出力します。 • いずれかが ○ s1 < ○ s2 ]&[ ○ s2 < ○ s3 ]&・・・&[ ○ s (n1) < ○ s (n)] の比較を行います。 (e) LT_E()[ ○ s (n1) < ○ s (n) のとき,TRUE を出力します。 • すべて ○ s (n1) ≧ ○ 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 に入力されたビット型のデータが OFFON に変化したとき, 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 に入力されたビット型のデータが ONOFF に変化したとき, 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 に入力されたビット型のデータが OFFON に変化した回数を, 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 が OFFON すると, 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 に入力されたビット型のデータが OFFON に変化した回数をカウントし, ○ 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 が OFFON すると, d3 を加算カウント(+1)します。 (1) ○ ○ s2 が OFFON すると, ○ 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 に入力されたビット型のデータが OFFON に変化した回数をカウントし, d3 の値が ○ ○ ○ s2 に入力されたビット型のデータが d1 を ON するプログラム。また,同時に ○ じになったら ○ d3 の値が 0 になったら ○ d2 を ON するプログラム。 OFFON に変化した回数をカウントし,○ (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 の立上がり(OFFON)を検出してカウントします。 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 に入力されたビット型のデータが OFFON に変化した回数を, 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 が ONOFF すると,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
© Copyright 2025 ExpyDoc