Ethernetで接続されているPLCの変数をFins通信を使って読み書きします
フォームにはSysmacCJをsysmacCJ1というインスタンス名で貼って置きます

以下サンプルコードはC#で書いてあります
フォームの作成(ボタンの配置など)は省略しているので適宜ボタンなどは配置してください
通信をするには通信相手のPLCのFinsアドレス(ネットワーク番号、ノード番号、号機番号)をセットして、ActiveプロパティをTrueにします
サンプルではフォームロード時にセットします
private void Form1_Load(object sender, EventArgs e)
{
sysmacCJ1.NetworkAddress = 0;
sysmacCJ1.NodeAddress = 1;
sysmacCJ1.UnitAddress = 0;
sysmacCJ1.Active = true;
}
sysmacCJ1.NetworkAddress = 0;
sysmacCJ1.NodeAddress = 1;
sysmacCJ1.UnitAddress = 0;
sysmacCJ1.Active = true;
送信先のPLCのFINSアドレスを設定してActiveをTrueにします
ActiveをTrueにすることで送信先FINSアドレスのPLCと接続します
button1をクリックするとReadMemoryメソッドを実行してDM0~9の値を読み出します
private void button1_Click(object sender, EventArgs e)
{
try
{
int[] value = (int[])sysmacCJ1.ReadMemory(OMRON.Compolet.SYSMAC.SysmacCSBase.MemoryTypes.DM, 0, 10, false);
Console.WriteLine(value[0]);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
int[] value = (int[])sysmacCJ1.ReadMemory(OMRON.Compolet.SYSMAC.SysmacCSBase.MemoryTypes.DM, 0, 10, false);
ReadMemoryを使ってDM0から10CH分の値を読み出します
戻り値はObject型のためint[]にキャストしてvalueに格納します
button2をクリックするとWriteMemoryメソッドを実行してDM0~2に値を書込みます
private void button2_Click(object sender, EventArgs e)
{
try
{
int[] value = new int[3];
value[0] = 1;
value[1] = 2;
value[2] = 3;
sysmacCJ1.WriteMemory(OMRON.Compolet.SYSMAC.SysmacCSBase.MemoryTypes.DM, 0, value);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
int[] value = new int[3];
value[0] = 1;
value[1] = 2;
value[2] = 3;
書き込む値をセットします
sysmacCJ1.WriteMemory(OMRON.Compolet.SYSMAC.SysmacCSBase.MemoryTypes.DM, 0, value);
WriteMemoryを使ってDM0からValueの値を書き込みます