plc_accessをRubyGemsに登録しました。
RubyでPLCのデバイスにアクセスできます。
ソースコードはこちら。
github.com
これは
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 ファイルをコピーして持ってこないとアップロードできなかったです。