plc_accessをRubyGemsに登録しました。
RubyでPLCのデバイスにアクセスできます。
ソースコードはこちら。
これは Ladder Drive からPLCと通信する部分を抜き出したものになります。
LadderDriveでPLCに接続できますが、仮想的なPLCを目指したもので通信だけするには余計なものが多すぎるので通信だけに特化して軽量化しました。
MC ProtocolでPLCにアクセスするにはRubyでこの様に書くとアクセスできます。
非常に簡単です。
require 'plc_access' plc = PlcAccess::Protocol::Mitsubishi::McProtocol.new host:"192.168.0.10" plc["M0"] = true plc["M0"] # => true plc["M0", 10] # => [true, false, ..., false] plc["D0"] = 123 plc["D0"] # => 123 plc["D0", 10] = [0, 1, 2, ..., 9] plc["D0".."D9"] => [0, 1, 2, ..., 9]
LadderDriveもこちらを使用する様に変更予定です。
上の構成から下の構成へ
久しぶりにRubyGemsに登録しようとしたらマシンも変わったので ~/.gem/credentials ファイルをコピーして持ってこないとアップロードできなかったです。