Siemens#SFC51でCPUのLED状態を読み込む

Step7 ClassicでSFC51を使うことによってCPUから様々な状態を読み込むことができますが、ここでCPUのLED状態を読み込むのプログラム例を示します。まずここでS7-300のLED説明にはここであります:

Screen Shot 2017-04-12 at 11.02.13 pm

こうやってLEDの状態を取りもしCPUがエラーがあったり、強制ON/OFFしたりするときHMIとかで表示することも可能ですね。では、まずSFC51はどんなものがみてみましょう。プログラムの中にEMPTY BOX1つを追加し”SFC51”を入力してすれば自動的SFC51が追加されます。そのあとF1を押せばHELPが出てきて色々なINFORMATIONがみえます。簡単からというと、SystemFunction51は”RDSYSST”で、いわゆる”Read System Status”です。このプロッグは以下のParametersがあります:

Screen Shot 2017-04-12 at 11.11.00 pm

考えの流れとしてはまずはどんなSystem Status Listがほしいですか?System Status Listの中のどんな情報が欲しいですか?最後はREQのタイミングを決めます。

SFC51 Header

じゃプログラムをしましょう。最初はSSL_HEADERを作ります。これはSSL_HEADERの標準の構造体です。

SSL_Header

新しいDBを作成し、中にWORD2つのデータが含めてるの構造体にします。これでSSL_HEADERが完成です。

Screen Shot 2017-04-12 at 11.17.25 pm

16#0174はLEDのStatusを読み込むんですね。

Screen Shot 2017-04-12 at 11.19.17 pm

INDEXにはたくさん書いてますのでここで詳しい説明はしません。今回はRUNのSTATUSを取りますのでINDEXがW#16#0004をします。

Screen Shot 2017-04-12 at 11.23.16 pm

次はDR-Data RecordのDB Structureを考えます。SSL_IDによってDRのStructureも違いますのでここはちゃんとMANUALを読んでください。ここでWORD1つ、Byte2つですね。

SSL174

また新しいDBを作成し、同じのようなStructureを作りましょう。

sfc51 with 174

最後はSFC51を追加します。これだけです。
SZL_HeaderはP#DB[番号].DBX0.0です。
DRはP#DB[番号].DBX0.0です。

完成です。お疲れさまー

*もしTIAを使う場合はLEDを読み込むの命令がありますので次を紹介します。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする