MCプロトコルで三菱シーケンサと通信する方法
MCプロトコルとは
MCプロトコルは三菱電機MELSECシリーズがEthernet経由でデバイスアクセスするための通信プロトコルです。
Dデバイス、Mデバイス、X、Yデバイスなどの読出し・書込みが可能です。
概略
MITSUBISHIシーケンサと接続構成
MITSUBISHIシーケンサのEthernetポートに対してMELSECコミュニケーションプロトコル(MCプロトコル)を使ってメモリの読み書きをします
このライブラリでは以下のフレームとコードを使っています
MITSUBISHIシーケンサがサーバになりMITSUBISHI側にはラダーは必要ありません
McLinkの特徴
- MCプロトコル3Eフレーム対応
- バイナリコード対応
- TCP通信対応
- UDP通信対応
- Dデバイス読出し対応
- Mデバイス読出し対応
- ランダム読出し対応
- NX/NJシリーズ対応
MCプロトコル用FB一覧
名前空間 : McLink
FB一覧
| McpRead | 一括読出し |
| McpReadBit | ビット単位の一括読出し |
| McpRandomRead | ランダム読出し |
| McpWrite | 一括書込み |
| McpWriteBit | ビット単位の一括書込み |
| McpUDP | MCプロトコルのコマンド送信 UDP |
| McpTCP | MCプロトコルのコマンド送信 TCP |
McpRead (一括読出し)
入力
- IpAddress
- STRING[200]
- 送信先IPアドレス
- Port
- UINT
- ポート番号
- Device
- McLink\DeviceCode
- デバイスコード
- Address
- UDINT
- 先頭デバイス
- ReadSize
- UINT
- デバイス点数
入出力
- ReciveData
- ARRAY[*] OF WORD
- 受信データ
McpReadBit (ビット単位の一括読出し)
入力
- IpAddress
- STRING[200]
- 送信先IPアドレス
- Port
- UINT
- ポート番号
- Device
- McLink\DeviceCode
- デバイスコード
- Address
- UDINT
- 先頭デバイス
- ReadSize
- UINT
- デバイス点数
入出力
- ReciveData
- ARRAY[*] OF WORD
- 受信データ
McpRamdomRead (ランダム読出し)
入力
- IpAddress
- STRING[200]
- 送信先IPアドレス
- Port
- UINT
- ポート番号
- WordDevice
- STRING[255]
- ワードデバイス名(カンマ区切り)
- DWordDevice
- STRING[255]
- ダブルワードデバイス名(カンマ区切り)
入出力
- ReadDataW
- ARRAY[0..9] OF WORD
- ワードデバイス受信データ
- ReadDataDW
- ARRAY[0..9] OF DWORD
- ダブルワードデバイス受信データ
McpWrite (一括書込み)
入力
- IpAddress
- STRING[200]
- 送信先IPアドレス
- Port
- UINT
- ポート番号
- Device
- McLink\DeviceCode
- デバイスコード
- Address
- UDINT
- 先頭デバイス
- WriteSize
- UINT
- デバイス点数
入出力
- WriteData
- ARRAY[*] OF WORD
- 書込みデータ
McpWriteBit (ビット単位の一括書込み)
入力
- IpAddress
- STRING[200]
- 送信先IPアドレス
- Port
- UINT
- ポート番号
- Device
- McLink\DeviceCode
- デバイスコード
- Address
- UDINT
- 先頭デバイス
- WriteSize
- UINT
- デバイス点数
入出力
- WriteData
- ARRAY[*] OF WORD
- 書込みデータ
McpUDP (MCプロトコルのコマンド送信 UDP)
入力
- IpAddress
- STRING[200]
- 送信先IPアドレス
- Port
- UINT
- ポート番号
- CmdSize
- MUINT
- 送信バイト数
出力
- ReciveSize
- UINT
- 受信バイト数
入出力
- Cmd
- ARRAY[*] OF BYTE
- 送信コマンド
- ReciveData
- ARRAY[*] OF BYTE
- 受信データ
McpTCP (MCプロトコルのコマンド送信 TCP)
入力
- IpAddress
- STRING[200]
- 送信先IPアドレス
- Port
- UINT
- ポート番号
- CmdSize
- MUINT
- 送信バイト数
出力
- ReciveSize
- UINT
- 受信バイト数
入出力
- Cmd
- ARRAY[*] OF BYTE
- 送信コマンド
- ReciveData
- ARRAY[*] OF BYTE
- 受信データ
プログラム例
McpRead (一括読出し)
一括読出し
| FB入力変数 | |
| Device | \\McLink\DeviceCode#D |
| Address | 0 |
| ReadSize | 5 |
| FB入出力変数 | |
| ReadData | [0001,0002,0003,0004,0005] |
McpReadBit (ビット単位の一括読出し)
ビット単位の一括読出し
| FB入力変数 | |
| Device | \\McLink\DeviceCode#M |
| Address | 0 |
| ReadSize | 10 |
| FB入出力変数 | |
| ReadBitData | [TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE] |
McpRamdomRead (ランダム読出し)
ランダム読出し
| FB入力変数 | |
| WordDevice | 'D0,D10,X10' |
| DWordDevice | 'D100,M0,Y20' |
| FB入出力変数 | |
| ReadDataW | [0001,000A,000F] |
| ReadDataDW | [00660065,04030201,12345678] |
McpWrite (一括書込み)
一括書込み
| FB入力変数 | |
| Device | \\McLink\DeviceCode#D |
| Address | 0 |
| WriteSize | 2 |
| FB入出力変数 | |
| WriteData | [000A,000B] |
McpWriteBit (ビット単位の一括書込み)
ビット単位の一括書込み
| FB入力変数 | |
| Device | \\McLink\DeviceCode#M |
| Address | 0 |
| WriteSize | 6 |
| FB入出力変数 | |
| WriteData | [TRUE,TRUE,,TRUE,TRUE,TRUE,TRUE] |
McpUDP (MCプロトコルのコマンド送信 UDP)
MCプロトコルのコマンド送信 UDP
| FB入力変数 | |
| CmdSize | 10 |
| FB出力変数 | |
| ReciveSize | 4 |
| FB出力変数 | |
| Cmd | [01,04,00,00,00,00,00,A8,02,00] |
| ReciveData | [01,00,02,00] |
McpTCP (MCプロトコルのコマンド送信 TCP)
MCプロトコルのコマンド送信 TCP
| FB入力変数 | |
| CmdSize | 10 |
| FB出力変数 | |
| ReciveSize | 4 |
| FB出力変数 | |
| Cmd | [01,04,00,00,00,00,00,A8,02,00] |
| ReciveData | [01,00,02,00] |
McLinkライブラリ
ダウンロードされたときは利用規約に同意したものとみなします
ライブラリ同梱ファイル
- McLink.slr (ライブラリファイル)
- McLink.csm2 (ライブラリソースファイル)
- McLinkSample.csm2 (ライブラリを使用したサンプル)
- McLink.md (ライブラリの説明)
このサイトが役に立ったと感じたら、ご支援いただけると嬉しいです