【OpenPLC】初心者用の標準関数リファレンスマニュアル

リファレンスマニュアル IEC61131-3
OpenPLC初心者用リファレンスマニュアル
この記事は約8分で読めます。

チームで構築する場合、最終的にはFB(ファンクションブロック)でまとめるようになると思うので、FBをメインで書いていきます。
あとは、計算式はST言語での表現が簡単です。

なぜか検索で出てくるものは国際規格版を使ってるのにラダーばかりなのでFBを推進していきます

なので、ラダーのみで職人技巧を極めても意味なくね?的な発想で配信します

暫定公開中
(現在作成中で未完です。)

ニッチなビジネスモデルの現場からお送りします。
シリ-ズ:OpenPLCで遊んでみる
-勝手に作るリファレンスマニュアル-

用途の具体例記等

折角のすばらしいフリーソフトが一般の初心者にはハードル高そうなので
標準ライブラリの取扱説明書を作っていこうと思います。



OpenPLCはこちらのサイトからダウンロードしてください。
https://www.openplcproject.com/

Autonomy – Open-source PLC Software

PLCopen JAPAN 参考:企業向け

PLCopen Japan Chapter
PLCopenはPLCアプリケーションの開発効率化を目的とし、PLCプログラミングの国際基準IEC 61131-3(JIS B 3503)の普及活動と、ベンダに依存しない標準ファンクションブロックの仕様策定及び認定を行う第三者機関です。

スポンサーリンク

標準関数

標準関数【Standard Function Blocks】

スイッチ操作系

SR【セット優先自己保持回路】

SR BISTABLE
INTRODUCTION
This function block maintains its output in one of two stable states TRUE or FALSE.
The output can be set or reset by applying a TRUE signal to the Set or Reset inputs.
If both inputs are TRUE the output is TRUE.

引用元:OpenPLC リファレンスより


なんとなく翻訳すると
自己保持回路でONスイッチが優先される回路

RS【リセット優先自己保持回路】

RS BISTABLE
INTRODUCTION
This function block maintains its output in one of two stable states TRUE or FALSE. The output can be set or reset by applying a TRUE signal to the Set or Reset inputs. If both inputs are TRUE the output is FALSE.

引用元:OpenPLC リファレンスより

SEMA【 】 

R_TRIG 【立ち上がりエッジの取得】

RISING TRIGGER
INTRODUCTION
This function block is a rising edge detector. The output Q is FALSE when the input CLK is FALSE. As soon as CLK is set to TRUEQ is activated to TRUE for a single pulse.

引用元:OpenPLC リファレンスより

  • スイッチを押した瞬間に一瞬だけ信号が出ます
  • スイッチをOFFにしないと次の信号は入りません
  • スイッチを押したままで信号が繰返し入るのを防ぎます

F_TRIG 【立ち下りエッジの取得】

(スマホのアプリ起動するときにアイコンから指を離すと起動する あれです)

FALLING TRIGGER

INTRODUCTION

This function block is a falling edge detector. The output Q is FALSE when the input CLK is TRUE. As soon as CLK is set to FALSEQ is activated to TRUE for a single pulse.

引用元:OpenPLC リファレンスより

  • スイッチを離した瞬間に一瞬だけ信号が出ます
  • スイッチをOFFにしないと次の信号は入りません
  • スイッチを切ったままで信号が繰返し入るのを防ぎます
  • 実行中のプログラムブロックが終了した確認をする場合に使用します
      **外部機器使用時はこれが重要

プログラム画像

プログラム例

スイッチを
押すと
一瞬 ON_PLS_FLGが点灯
離すと
一瞬 OFF_PLS_FLGが点灯

カウンター カウントアップ用

CTU

COUNTER UP

INTRODUCTION

The up-counter can be used to count the number of rising edge FALSE to TRUE transitions of the preceding logic and signal when a count has reached a maximum value. Each time the input CU is set to TRUE, the counter CV is incremented by 1, provided that CV is less than the maximum value PV. The output Q is set to TRUE when CV is greater than or equal to PVCV is initialized to 0 when the application starts and resets to 0 when R becomes TRUE.

引用元:OpenPLC リファレンスより

カウントアップ最小値版

 カウントアップで数える

プログラム例

countをオンするたびに
monitor値が+1
PVの値になるとoutが出力する

CTU_DINT

  ちょっと多く数えれるやつ

CTU_LINT 

 もうちょっと多く数えれるやつ

CTU_UDINT 

マイナスが数えれないちょっと多く数えれるやつ

CTU_ULINT

マイナスが数えれないが、もうちょっと多く数えれるやつ

カウンター カウントダウン用

CTD

CTD_DINT

CTD_LINT

CTD_UDINT

CTD_ULINT

カウンター アップ、ダウン両方付き

CTUD

CTUD_DINT

CTUD_LINT

CTUD_UDINT

CTUD_ULINT

時間操作系

TP 【タイムパルス】

  • 指定時間分を出力します
  • 警報ブザーを1秒鳴らす
  • 選択スイッチのタイムアップに使用する

TON 【オンディレイタイマー】

  • スイッチONで指定時間後に出力します
  • 機械起動で警報後にモーター回転を行う
  • 振動でのセンサー誤検知の予防に使います

ST言語版

IN:タイマー起動
PT:タイマー数値設定
Q:タイムアップで出力
ET:タイマー現在値モニタ

  TON_1(
     IN := switch1,
     PT := timer_v1,
     Q => timeup_out1,
     ET => timer_mon1);

TOF 【オフディレイタイマー】

  • スイッチOFFで指定時間後に出力します
  • ポンプ汲み上げで無くなった判定後にちょっと待って停止する等

TONとTP
の組み合わせ例

3秒後に1秒出力する
TOFにすると動作が変わります

型変換関数 Type conversion

一般演算関数 Arithmatic

ADD 足し算

FB版足し算

入力を増やすと足せる要素が増えます

MUL 掛け算

SUB 引き算

DIV 割り算

MOD 余りを出す

EXPT べき乗

MOVE 代入

時間の演算

比較演算

GT   a>b

aはbより大きい時on

GE   a>=b

aはb以上の時on

EQ  a==b

等しい時on

LT   a<b

aはbより小さい時on

LE   a<=b

aはb以下のときon

範囲内で出力する例
下限と上限の間で条件成立します

変数の定義
範囲チェックのプログラム

NE   a!=b

等しくない

動かし方マニュアル

実行方法

初めのつまづき点

コメント

タイトルとURLをコピーしました