<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Arduino PLC IDEのメモ</title>
    <link rel="alternate" type="text/html" href="https://www.denshi.club/plc/" />
    <link rel="self" type="application/atom+xml" href="https://www.denshi.club/plc/atom.xml" />
    <id>tag:www.denshi.club,:/plc//86153</id>
    <updated>2023-03-31T22:05:51Z</updated>
    <subtitle>FA用の開発ツールを使ってみた</subtitle>    <generator uri="https://movabletype.net/">MovableType.net</generator>
<entry>
    <title>初めてのArduino PLC IDE ⑤ スケッチで動作確認  ＜Step3＞ Modbus/RTUの接続</title>
    <link rel="alternate" type="text/html" href="https://www.denshi.club/plc/2023/04/arduino-plc-ide-5-step3-modbusrtu.html" />
    <id>tag:movabletype.net,2003:post-2334754</id>

    <published>2023-03-31T21:51:00Z</published>
    <updated>2023-03-31T22:05:51Z</updated>

    <summary>Arduino OPTAは、ディジタル入出力、アナログ入力のほかに、 Modbu...</summary>
    <author>
        <name>picoGalois</name>
            </author>
            <category term="Arduino IDE 2.x" scheme="http://www.sixapart.com/ns/types#category" />
        <content type="html" xml:lang="ja-JP" xml:base="https://www.denshi.club/plc/">
        &lt;p&gt;　Arduino OPTAは、ディジタル入出力、アナログ入力のほかに、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modbus/RTU　　RS485のツイスト・ペア線を利用&lt;/li&gt;
&lt;li&gt;Modbus/TCP　　イーサネットを利用&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;のサーバおよびクライアントになれます。Arduino IDE 2.0.4のスケッチで動作を確認します。&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;接続&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　RS-485で接続するModbus/RTUを利用します。Arduino OPTAには機能が内蔵されていて、A、B、GNDの端子が出ています。接続するのは&lt;span style=&quot;background-color: rgb(194, 224, 244);&quot;&gt;A、Bの2本&lt;/span&gt;です。配線の両端にターミネータ120Ωが必要ですが、今回の実験は室内で、端から端までが3mほどの距離と短いので、何もつけていません。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/rs485.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2676125 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/rs485-500wri.png&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;505&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　実験は&lt;span style=&quot;background-color: rgb(194, 224, 244);&quot;&gt;9600bps パリティなし ８ビット　ストップ・ビット1&lt;/span&gt;の通信条件行いました。&lt;/p&gt;
&lt;p&gt;　温度調節器は通信機能があるモデルを選択し、マニュアルに従って、Modbusが使える設定に変更し、通信条件を上記のように設定しておきます。今回利用した温度調節器は、熱電対で温度を測ります。&lt;/p&gt;
&lt;p&gt;　極性は、次のようになっているのが多いです。ケーブルはツイスト・ペア線を使いますが、実験ならば平行線でかまわないと思います。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aがマイナス&lt;/li&gt;
&lt;li&gt;Bがプラス&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/modbus.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2676340 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/modbus-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;552&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1646.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2678514 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1646-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;336&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;スケッチ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　ライブラリAIPlc_Optaをインストールします。&lt;/p&gt;
&lt;p&gt;　ArduinoRS485.hはインストールされていましたが、ArduinoModbus.hは入ってなかったので、ライブラリで、「modbus」で検索して、ArduinoModbusをインストールしました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/r102.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2675951 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/r102-300wri.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;503&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href=&quot;https://docs.arduino.cc/tutorials/opta/getting-started-with-modbus-rtu&quot;&gt;&lt;span&gt;The complete code for the Client is shown below:&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;と書かれたスケッチをベースにして、不要なところを削除します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　必要なのは、温度の値を読み出すために使われる&lt;span class=&quot;token function&quot;&gt;readHoldingRegisterValues&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)関数だけです。今回は書き込みはしません。多くのFA用機器では、&lt;span class=&quot;token function&quot;&gt;HoldingRegisterに必要なデータが保存されているので、温度調節器のマニュアルに従って読み出します。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;box8&quot;&gt;
&lt;pre&gt;&lt;code&gt;
//  Name: Opta_Client

#include 
#include  // ArduinoModbus depends on the ArduinoRS485 library

constexpr auto baudrate { 9600 };

// Calculate preDelay and postDelay in microseconds as per Modbus RTU Specification
// MODBUS over serial line specification and implementation guide V1.02
// Paragraph 2.5.1.1 MODBUS Message RTU Framing
// https://modbus.org/docs/Modbus_over_serial_line_V1_02.pdf
constexpr auto bitduration { 1.f / baudrate };
constexpr auto preDelayBR { bitduration * 9.6f * 3.5f * 1e6 };
constexpr auto postDelayBR { bitduration * 9.6f * 3.5f * 1e6 };
// constexpr auto preDelayBR { bitduration * 10.0f * 3.5f * 1e6 };

void setup() {
    Serial.begin(9600);
    while (!Serial);

    pinMode(LED_D0, OUTPUT);

    Serial.println(&quot;Modbus RTU Client&quot;);
    delay(10);

    RS485.setDelays(preDelayBR, postDelayBR);

    // Start the Modbus RTU client
    if (!ModbusRTUClient.begin(baudrate, SERIAL_8N1)) {
        Serial.println(&quot;Failed to start Modbus RTU Client!&quot;);
        while (1);
    }
}

void loop() {
  digitalWrite(LED_D0, HIGH);
  delay(1000);
  digitalWrite(LED_D0, LOW);
  delay(1000);

    readHoldingRegisterValues();

    delay(5000);
    Serial.println();
}


/**
  Reads Holding Register values from the server under specified address.
*/
void readHoldingRegisterValues() {
    Serial.print(&quot;Reading Holding Register values ...&quot;);

    // Read HOLDING Register values from (server) id = 2, address 0x2000 2bytes?
    if (!ModbusRTUClient.requestFrom(2, HOLDING_REGISTERS, 0x2000, 1)) {
        Serial.print(&quot;failed! &quot;);
        Serial.println(ModbusRTUClient.lastError());
    } else {
        Serial.println(&quot;success&quot;);

        while (ModbusRTUClient.available()) {
            Serial.println(&quot;オムロンE5CN-H&quot;);
            Serial.print(round(ModbusRTUClient.read() / 10.0),1);
            Serial.println(&quot;`C&quot;);
        }
        Serial.println();
    }

    Serial.print(&quot;Reading Holding Register values ...&quot;);
    // Read HOLDING Register values from (server) id = 1, address 0x0080 2bytes?
    if (!ModbusRTUClient.requestFrom(1, HOLDING_REGISTERS, 0x0080, 1)) {
        Serial.print(&quot;failed! &quot;);
        Serial.println(ModbusRTUClient.lastError());
    } else {
        Serial.println(&quot;success&quot;);

        while (ModbusRTUClient.available()) {
            Serial.println(&quot;パナソニックKT-7&quot;);
            Serial.print(round(ModbusRTUClient.read() / 10.0),1);
            Serial.println(&quot;`C&quot;);
        }
        Serial.println();
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　実行例です。動作中は、四つあるLEDの一番左を点滅させています。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/r201.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2676334 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/r201-430wri.png&quot; alt=&quot;&quot; width=&quot;430&quot; height=&quot;285&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;Modbus/RTU&lt;/strong&gt;&lt;strong&gt;のとても簡単な説明&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　物理的な配線に使われるRS-485は差動なので、ノイズに強いと言われています。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;asset asset-image at-xid-2675957 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/modbus001-500wri.png&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;303&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　最大247個のアドレスを扱えますが、機器によっては31個までという製品もあります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　デバイスのアドレスという呼び名は、&lt;/span&gt;ライブラリやユーティリティによって次のようにも呼ばれます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;アドレス&lt;/li&gt;
&lt;li&gt;スレーブ・アドレス&lt;/li&gt;
&lt;li&gt;ID&lt;/li&gt;
&lt;li&gt;Slave Addr&lt;/li&gt;
&lt;li&gt;Device&lt;/li&gt;
&lt;li&gt;Device Address&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;　アドレスは1からふられますが、論理的な指定を0から行うソフトウェアもあります。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　通信には、次のパラメータの設定が必要です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;ボーレート&lt;/span&gt;　デフォルトは9600が多い。2400～19200bpsが選べる場合もある&lt;/li&gt;
&lt;li&gt;&lt;span&gt;データ・ビット&lt;/span&gt;　7もしくは8ビット。8ビットが多い&lt;/li&gt;
&lt;li&gt;&lt;span&gt;ストップ・ビット&lt;/span&gt;　「1、1.5、2」もしくは「1、2」から選択。1が多い&lt;/li&gt;
&lt;li&gt;&lt;span&gt;パリティ&lt;/span&gt;　なし、偶数、奇数から選択。「なし」が多い&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;　海外製品は、「9600、8、1、なし」がデフォルトになっていることが多いです。逆に、日本製品では、そうなっていない場合があります。取扱説明書には書かれていないことも多く、確かめるには、機器のパネルを操作し該当するパラメータを表示します。確認できないこともあるので、その時は、テクニカル・サポートに電話で確認しておきます。&lt;/p&gt;
&lt;p&gt;　でも、Arduino.ccのサンプルは、&lt;span&gt;パリティありになっていました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;　代表的なファンクションの例です。ファンクションとは、どのレジスタに対して読むのか書き込むのかをいくつか定義したものです。下記に示した例よりもっとたくさん規格ではきめられていますが、多くの製品では、下記のファンクションの&lt;span style=&quot;background-color: rgb(194, 224, 244);&quot;&gt;一部だけが実装&lt;/span&gt;されています。&lt;/p&gt;
&lt;p&gt;　　&lt;a href=&quot;https://modbus.org/docs/PI_MBUS_300.pdf&quot;&gt;https://modbus.org/docs/PI_MBUS_300.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;　ファンクションの&lt;span style=&quot;background-color: #ffff00;&quot;&gt;01～04が読み出すとき&lt;/span&gt;に、&lt;span style=&quot;background-color: #ffff00;&quot;&gt;05と06、16は設定値を書き込むとき&lt;/span&gt;に使われます。&lt;br&gt;　温度などを読み出すときは、03もしくは04のどちらかが使われます。&lt;/p&gt;
&lt;div class=&quot;hyougumi&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 90.6365%; height: 153px;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;th style=&quot;width: 9.61871%; height: 17px;&quot;&gt;ファンクションのコード&lt;/th&gt;
&lt;th style=&quot;width: 21.919%; height: 17px;&quot;&gt;機能名&lt;/th&gt;
&lt;th style=&quot;width: 31.1891%; height: 17px;&quot;&gt;機能&lt;/th&gt;
&lt;th style=&quot;width: 27.9341%; height: 17px;&quot;&gt;備考&lt;/th&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.61871%; height: 17px;&quot;&gt;01&lt;/td&gt;
&lt;td style=&quot;width: 21.919%; height: 17px;&quot;&gt;Read Coil Status&lt;/td&gt;
&lt;td style=&quot;width: 31.1891%; height: 17px;&quot;&gt;スレーブのDOのON/OFFを読み出す&lt;/td&gt;
&lt;td style=&quot;width: 27.9341%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.61871%; height: 17px;&quot;&gt;02&lt;/td&gt;
&lt;td style=&quot;width: 21.919%; height: 17px;&quot;&gt;Read Input Status&lt;/td&gt;
&lt;td style=&quot;width: 31.1891%; height: 17px;&quot;&gt;スレーブのDIのON/OFFを読み出す&lt;/td&gt;
&lt;td style=&quot;width: 27.9341%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.61871%; height: 17px;&quot;&gt;&lt;strong&gt;03&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;width: 21.919%; height: 17px;&quot;&gt;&lt;strong&gt;Read Holding Register&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31.1891%; height: 17px;&quot;&gt;スレーブの保持レジスタの内容を読み出す&lt;/td&gt;
&lt;td style=&quot;width: 27.9341%; height: 17px;&quot;&gt;装置によって大きく長さや内容は異なる&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.61871%; height: 17px;&quot;&gt;04&lt;/td&gt;
&lt;td style=&quot;width: 21.919%; height: 17px;&quot;&gt;Read Input Register&lt;/td&gt;
&lt;td style=&quot;width: 31.1891%; height: 17px;&quot;&gt;スレーブの入力レジスタの内容を読み出す&lt;/td&gt;
&lt;td style=&quot;width: 27.9341%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.61871%; height: 17px;&quot;&gt;05&lt;/td&gt;
&lt;td style=&quot;width: 21.919%; height: 17px;&quot;&gt;Force Single Coil&lt;/td&gt;
&lt;td style=&quot;width: 31.1891%; height: 17px;&quot;&gt;スレーブのDOをONもしくはOFFする&lt;/td&gt;
&lt;td style=&quot;width: 27.9341%; height: 17px;&quot;&gt;ONは0xff,0x00、OFFは0x00,0x00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.61871%; height: 17px;&quot;&gt;06&lt;/td&gt;
&lt;td style=&quot;width: 21.919%; height: 17px;&quot;&gt;Preset Single Register&lt;/td&gt;
&lt;td style=&quot;width: 31.1891%; height: 17px;&quot;&gt;スレーブの保持レジスタの内容を変更する&lt;/td&gt;
&lt;td style=&quot;width: 27.9341%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.61871%; height: 17px;&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;width: 21.919%; height: 17px;&quot;&gt;&amp;nbsp;Preset Multiple Registers&lt;/td&gt;
&lt;td style=&quot;width: 31.1891%; height: 17px;&quot;&gt;スレーブの連続した複数の保持レジスタの内容を変更する&lt;/td&gt;
&lt;td style=&quot;width: 27.9341%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.61871%; height: 17px;&quot;&gt;以下略&lt;/td&gt;
&lt;td style=&quot;width: 21.919%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 31.1891%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 27.9341%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　温度を読み出すときに使われるModbusの規格と、今回利用する温度調整器の名称を次に示します。03と04の使い分けは、メーカによってまちまちです。&lt;/p&gt;
&lt;div class=&quot;hyougumi&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 86.4175%; height: 215px;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 19.3079%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;th style=&quot;width: 37.5277%; height: 17px;&quot;&gt;ファンクション・コード&lt;/th&gt;
&lt;th style=&quot;width: 29.5643%; height: 17px;&quot;&gt;データのある場所の名称&lt;/th&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 112px;&quot;&gt;
&lt;td style=&quot;width: 19.3079%; height: 112px;&quot;&gt;規格&lt;/td&gt;
&lt;td style=&quot;width: 37.5277%; height: 112px;&quot;&gt;
&lt;p&gt;03 Read Holding Register&lt;/p&gt;
&lt;p&gt;もしくは04 Read Input Register&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 29.5643%; height: 112px;&quot;&gt;
&lt;p&gt;「保持レジスタ」は40001からスタート。&lt;/p&gt;
&lt;p&gt;もしくは「入力レジスタ」は30001からスタート&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 52px;&quot;&gt;
&lt;td style=&quot;width: 19.3079%; height: 52px;&quot;&gt;オムロンE5CN-H&lt;/td&gt;
&lt;td style=&quot;width: 37.5277%; height: 52px;&quot;&gt;ファンクション・コード03の変数読み出し&lt;/td&gt;
&lt;td style=&quot;width: 29.5643%; height: 52px;&quot;&gt;「設定データのアドレス」は0000からスタート&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 34px;&quot;&gt;
&lt;td style=&quot;width: 19.3079%; height: 34px;&quot;&gt;パナソニックKT-7&lt;/td&gt;
&lt;td style=&quot;width: 37.5277%; height: 34px;&quot;&gt;機能コード03のスレーブの設定値，情報の読み取り&lt;/td&gt;
&lt;td style=&quot;width: 29.5643%; height: 34px;&quot;&gt;「データ項目」は、0x0001からスタート&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;本ブログの関連記事&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/parts/2020/11/2e5cn-h-1-modbus.html&quot;&gt;センサ・シリーズ　温度②温度調節器 その1 Modbusの設定&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/parts/2020/11/2-2-modbus.html&quot;&gt;センサ・シリーズ　温度②温度調節器 その2 Modbusで読み書き&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/pc/modbus/modbus-10-kt7.html&quot;&gt;Modbusの利用 (11) 温度調節器KT7&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/pc/modbus/modbus-x-ebytee820-aio.html&quot;&gt;Modbusの利用 (5) E820-AIO アナログ入力①&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/pc/modbus/modbus-8-evalkit-robot-12.html&quot;&gt;Modbusの利用 (9) 回すだけ EVALKIT-ROBOT-1ブラシレス・モータ・キット②&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/matlab/raspberrypi/simulink-support-package-for-raspberry-pi-7-modbustcp.html&quot;&gt;Simulink Support Package for Raspberry Pi ⑦ Modbus/TCP 熱電対&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;資料&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www3.panasonic.biz/ac/j/dl/manual/index.jsp?series_cd=1875&quot;&gt;&lt;span&gt;温度調節器　KT7　通信取扱説明書&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.fa.omron.co.jp/products/family/1946/download/manual.html&quot;&gt;デジタル調節計 通信マニュアル　SGTD-737B&lt;/a&gt;&lt;/p&gt;
        
    </content>
</entry>
<entry>
    <title>初めてのArduino PLC IDE ④ スケッチで動作確認  ＜Step2＞ イーサネットの接続</title>
    <link rel="alternate" type="text/html" href="https://www.denshi.club/plc/2023/03/arduino-plc-ide-4-step2.html" />
    <id>tag:movabletype.net,2003:post-2327301</id>

    <published>2023-03-31T00:52:00Z</published>
    <updated>2023-03-31T00:52:49Z</updated>

    <summary>前回、Arduino IDE 2.0.4を使って、Arduino OPTAの出力...</summary>
    <author>
        <name>picoGalois</name>
            </author>
            <category term="Arduino IDE 2.x" scheme="http://www.sixapart.com/ns/types#category" />
        <content type="html" xml:lang="ja-JP" xml:base="https://www.denshi.club/plc/">
        &lt;p&gt;　&lt;a href=&quot;https://www.denshi.club/plc/2023/03/arduino-plc-ide-3-step1-arduino-plc-ide-10-1.html&quot;&gt;前回&lt;/a&gt;、Arduino IDE 2.0.4を使って、Arduino OPTAの出力ポートの動作確認をしました。&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;イーサネットの接続&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　Arduino OPTAのイーサネットは、&lt;span&gt;10/100MHzに対応しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　HUBにLANケーブルで接続します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;●&lt;strong&gt;DHCPクライアントのサンプル・スケッチを動かす&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　サンプルからDhcpAddressPrinterを読み込みます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/p502.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2663691 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/p502-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;826&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;　コンパイル＆アップロードをします。&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　192.168.111.108がふられていると表示されました。pingをうつと、とても時間がかかっていますが、レスポンスがあります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/p501.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2663692 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/p501-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;965&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;ライブラリAIPlc_Optaをインストールしたのち&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　2023/3/28にインストールができるようになったAIPlc_Optaを入れた後に、同じ&lt;span&gt;DhcpAddressPrinterをコンパイルして動かします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;　pingの遅延時間が1msと、普通の速度でつながるようになったようです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/o201.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2677345 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/o201-450wri.png&quot; alt=&quot;&quot; width=&quot;450&quot; height=&quot;538&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
        
    </content>
</entry>
<entry>
    <title>初めてのArduino PLC IDE ③ スケッチで動作確認 ＜Step1＞ Arduino IDE 2.0.4のインストール</title>
    <link rel="alternate" type="text/html" href="https://www.denshi.club/plc/2023/03/arduino-plc-ide-3-step1-arduino-plc-ide-10-1.html" />
    <id>tag:movabletype.net,2003:post-2328560</id>

    <published>2023-03-27T23:34:00Z</published>
    <updated>2023-03-27T23:34:41Z</updated>

    <summary>2023年3月現在、Arduino PLC IDEは発表当時から変わらず1.0で...</summary>
    <author>
        <name>picoGalois</name>
            </author>
            <category term="Arduino IDE 2.x" scheme="http://www.sixapart.com/ns/types#category" />
        <content type="html" xml:lang="ja-JP" xml:base="https://www.denshi.club/plc/">
        &lt;p&gt;　2023年3月現在、Arduino PLC IDEは発表当時から変わらず1.0です。&lt;/p&gt;
&lt;p&gt;　Arduino OPTAの動作を確認するために、Arduino IDE 2.0.4をインストールして、スケッチを記述できる環境を構築します。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;Arudino OPTAをつなぐ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　USB-Cのケーブルで、PCとArudino OPTAをつなぎます。PCのUSBポートに直接つなぎます。最近、Nicla Sense MEをUSB HUB経由でつなぐと、アップロードに失敗したことがありました。&lt;/p&gt;
&lt;p&gt;　USB（COMポート）を認識しないときには、RESETのくぼみを細い線で素早く二度クリックします。&lt;/p&gt;
&lt;p&gt;　2か所のLEDが光っています。LANは緑色が点灯したままです。&lt;/p&gt;
&lt;p&gt;　RESETの上のLEDは、赤く光るときがLEDR、緑のときはLED_RESETと呼ばれます（&lt;a href=&quot;https://www.denshi.club/plc/2023/03/arduino-plc-ide.html&quot;&gt;第1回目の図を参照&lt;/a&gt;）。&lt;/p&gt;
&lt;p&gt;　緑色のLEDが1秒ごとに点滅しています。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/202.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2662457 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/202-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;734&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;Arudino OPTAのドライバのインストールが必要&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　Arduino PLC IDEがダウンロードできるようになった時に、動作するハードウェアは&lt;a href=&quot;https://store-usa.arduino.cc/collections/pro-family/products/arduino-portenta-machine-control&quot;&gt;Portenta Machine Control&lt;/a&gt;でした。なので、Arudino OPTA関係のドライバを含んでいません。ここで、Arduino IDE（執筆時点で最新版の2.0.4）を使って、それらをインストールします。インストールが終わったら、&lt;span style=&quot;background-color: rgb(194, 224, 244);&quot;&gt;スケッチで動作確認&lt;/span&gt;をします。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　&lt;a href=&quot;https://www.arduino.cc/en/software#arduino-plc-ide&quot;&gt;Arduino.ccのSoftwareのページ&lt;/a&gt;を開きます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/2023-03-16-%281%29.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2662442 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/2023-03-16-%281%29-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;736&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;　このページの最初の部分に、Arduino IDE 2.0.4のダウンロードのリンクが見えています。Windows用をダウンロードし、インストールします。&lt;/p&gt;
&lt;p&gt;　この手順は、&lt;/p&gt;
&lt;p&gt;　　&lt;a href=&quot;https://docs.arduino.cc/tutorials/opta/getting-started&quot;&gt;Getting Started with Opta&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;の解説に従っています。&lt;/p&gt;
&lt;p&gt;　インストールが終わったら、画面左のボードのアイコンをクリックしてボードマネージャを出し、optaで検索し、Arduino Mbed OS Opta Board by Arduinoをインストールします。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/p301.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2662793 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/p301-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;385&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　一度PCをリブートします。&lt;/p&gt;
&lt;p&gt;　1秒ごとに点滅していたRESETの上の緑のLEDは、約0.5秒の点滅に変わりました。&lt;/p&gt;
&lt;p&gt;　Select BoardでOPTAを選択し、COMポートはデバイスマネージャで確認をしたCOM番号を選択します。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/p302.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2662794 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/p302-320wri.png&quot; alt=&quot;&quot; width=&quot;320&quot; height=&quot;374&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　Arduino IDE 1.x、Arduino IDE 2.x、Arduino PLC IDE 1.xは、いずれも、コンパイル環境は共通のディレクトリにインストールされます。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;スケッチを動かす&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　先ほどの解説ページにあるTesting with Blink SketchのスケッチをArduino IDE 2.0.4にコピーし、コンパイル＆アップロードします。&lt;/p&gt;
&lt;p&gt;　アップロードに失敗しました。エラーコードは47です。&lt;/p&gt;
&lt;p&gt;　PCを再度リブートします。&lt;/p&gt;
&lt;p&gt;　Arduino IDE 2.0.4を立ち上げると、ライブラリにアップデートというメッセージが出ていたので、更新します。&lt;/p&gt;
&lt;p&gt;　しかし、アップロードに失敗しました。エラーコードは同じく47です。&lt;/p&gt;
&lt;p&gt;　筆者が試したのは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PCのUSBポートが青色から黒色に差し替えた&lt;/li&gt;
&lt;li&gt;OPTAのUSBポートを一度抜いて、裏返して差し込んだ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;によって、アップロードが正常に行われました。COMポートは、COM3からCOM4に変化しました。&lt;/p&gt;
&lt;p&gt;　スケッチは、STATUSのLEDを順次点灯、&lt;span&gt;LED_RESETを消灯&lt;/span&gt;するという内容です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LED_D0: STATUS 1&lt;/li&gt;
&lt;li&gt;LED_D1: STATUS 2&lt;/li&gt;
&lt;li&gt;LED_D2: STATUS 3&lt;/li&gt;
&lt;li&gt;LED_D3: STATUS 4&lt;/li&gt;
&lt;li&gt;LED_RESET: LED above the reset button&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;　正常に動作しました。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/p303.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2662801 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/p303-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;734&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;出力のリレーを使う&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　上記の写真の下側に四つの出力ポートが並んでいます。ここの右端の4（RL4）の端子に、AC100VのLED電球をつなぎます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/S401.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2663077 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/S401-320wri.png&quot; alt=&quot;&quot; width=&quot;320&quot; height=&quot;193&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　スケッチです。&lt;/p&gt;
&lt;div class=&quot;box8&quot;&gt;
&lt;pre&gt;&lt;code&gt;
void setup() {
  pinMode(D3, OUTPUT);
}

void loop() {
  digitalWrite(D3, HIGH);
  delay(3000);
  digitalWrite(D3, LOW);
  delay(3000);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　3秒ごとに点滅を繰り返しました。&lt;/p&gt;
&lt;p&gt;　リレーの音がします。外部電源を切ると音がしなくなるので、リレーは動作しないようです。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1641.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2663085 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1641-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;416&quot;&gt;&lt;/a&gt;&lt;/p&gt;
        
    </content>
</entry>
<entry>
    <title>初めてのArduino PLC IDE ② 配線材料</title>
    <link rel="alternate" type="text/html" href="https://www.denshi.club/plc/2023/03/arduino-plc-ide-2.html" />
    <id>tag:movabletype.net,2003:post-2324296</id>

    <published>2023-03-17T20:32:00Z</published>
    <updated>2023-03-17T20:39:59Z</updated>

    <summary>Arduino UNOでは、ピンヘッダーと呼ばれるI/Oポートに下のジャンパ線を...</summary>
    <author>
        <name>picoGalois</name>
            </author>
            <category term="概要" scheme="http://www.sixapart.com/ns/types#category" />
        <content type="html" xml:lang="ja-JP" xml:base="https://www.denshi.club/plc/">
        &lt;p&gt;　Arduino UNOでは、ピンヘッダーと呼ばれるI/Oポートに下のジャンパ線を差し込んで実験回路をくみ上げました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1612.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2659633 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1612-500wri.png&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;342&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　&lt;span&gt;Arduino Optaでは、抜けたりしないような確実な接続ができるねじ止め式のターミナル端子が採用されています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1626.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2659635 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1626-500wri.png&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;506&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;　このターミナル端子にジャンパ線をつないでも、すぐに抜けたり、折れてします。&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;●&lt;strong&gt;ねじ止めのターミナル端子&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　見えないですが、家の内部のAC100V配線は1.6mmΦなどの&lt;strong&gt;単線&lt;/strong&gt;が使われます。被覆を向いて、差し込むだけで済むという、配線時間の短縮ができます。もし間違ったときは、すぐ横にある穴へドライバの先を突っ込むと、抜けます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　FA用機器も、多くは、差し込むだけで配線ができるものが多いです。AC100Vと異なるのは&lt;strong&gt;より線&lt;/strong&gt;が使われるところです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　ドライバは、幅2.0mmのマスナス・ドライバが使いやすいです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1632.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2659648 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1632-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;714&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　より線は、被覆をむくとき&lt;/span&gt;&lt;span&gt;に、細い銅線が切れることもあり、それが、機器の内部に入り込んでショートの原因になることもあります。そこで、フェルール端子を圧着ジグで取り付けて使います。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;●&lt;strong&gt;フェルール端子&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　何種類か、線材の太さに合わせて、パックになった製品があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1618.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2659636 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1618-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;634&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　これより細い線材、AWS24以下の0.32、0.25、0.14mmも入手できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1574.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2659640 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1574-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;204&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;　&lt;a href=&quot;https://amzn.to/3ZVEnTY&quot;&gt;アマゾンで入手した圧着治具&lt;/a&gt;です。&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1610.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2659637 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1610-500wri.png&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;442&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;　被覆をむくときに使っているワイヤストリッパーです。細い信号線は0.5mmのゲージを利用することが多いです。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1607.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2659641 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1607-500wri.png&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;336&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;　　今回利用する電源ケーブルを作成しました。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1616A.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2659642 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1616A-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;488&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;　先端部分の拡大です。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1616.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2659643 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/IMGP1616.png&quot; alt=&quot;&quot; width=&quot;372&quot; height=&quot;288&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
        
    </content>
</entry>
<entry>
    <title>初めてのArduino PLC IDE ① どのようなところに使うのか</title>
    <link rel="alternate" type="text/html" href="https://www.denshi.club/plc/2023/03/arduino-plc-ide.html" />
    <id>tag:movabletype.net,2003:post-2323615</id>

    <published>2023-03-14T20:01:00Z</published>
    <updated>2023-03-29T12:18:34Z</updated>

    <summary>Arduino PLC IDE</summary>
    <author>
        <name>picoGalois</name>
            </author>
            <category term="概要" scheme="http://www.sixapart.com/ns/types#category" />
        <content type="html" xml:lang="ja-JP" xml:base="https://www.denshi.club/plc/">
        &lt;p&gt;&lt;span&gt;　2020年12月に入ってArduino.ccから新しい開発環境のArduino PLC IDE 1.0がダウンロードできるようになりました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　Arduino Optaというハードウェアのアナウンスで登場した開発ツールです。2023/03現在、このハードウェア以外には、&lt;a href=&quot;https://store-usa.arduino.cc/collections/pro-family/products/arduino-portenta-machine-control&quot;&gt;Portenta Machine Control&lt;/a&gt;がサポートされています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　2023/03/03にArduino Optaの&lt;/span&gt;&lt;span&gt;販売が開始されました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　このブログでは、Arduino PLC IDE開発環境を使ってST言語などで制御を記述し、I/Oのコントロールを行います。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/IMGP1604.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2659555 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/IMGP1604-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;359&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;●&lt;strong&gt;動作環境&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　普通の日本語環境Windows10 PC 2台にインストールしましたが、落ちます。このブログ記事は、英語版のWindows10で動作をさせています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　Arduino Optaは3種類ありますが、ここでは、Arduino Opta RS485を利用します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://store-usa.arduino.cc/collections/pro-family/products/opta-lite&quot;&gt;&lt;span&gt;Arduino Opta Lite&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://store-usa.arduino.cc/collections/pro-family/products/opta-rs485&quot;&gt;&lt;span&gt;Arduino Opta RS485&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://store-usa.arduino.cc/collections/pro-family/products/opta-wifi&quot;&gt;&lt;span&gt;Arduino Opta WiFi&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　もう一つのハードウェアPortenta Machine Controlは、Modbusサーバは利用できなく、CANopenが記述できるようなのですが、詳細は不明です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;●&lt;/span&gt;&lt;strong&gt;Arduino PLC IDEは無償のソフトPLC開発環境&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　開発ソフト自体は、無償ですが、動作をさせるハードウェアに&lt;a href=&quot;https://store-usa.arduino.cc/collections/pro-family/products/plc-key-portenta-machine-control&quot;&gt;PLC key Portenta Machine Control&lt;/a&gt;のライセンスが&lt;/span&gt;&lt;span&gt;必要です。購入すると、コードが送られてきます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　従来のArduino IDE 2.0はスケッチというプログラムで&lt;/span&gt;&lt;span&gt;Arduino UNOなどのマイコン・ボードを動作させますが、Arduino PLC IDEでも、利用できます。メインは、新しいIEC 61131-3の言語群が使えます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　IEC 61131-3はFA用の言語群で、五つの種類が使え、混在？ができます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;/span&gt;IL（Instruction List；インストラクション・リスト）&lt;/li&gt;
&lt;li&gt;LD（Ladder Diagram；ラダー・ダイアグラム）&lt;/li&gt;
&lt;li&gt;SFC（Sequential Function Chart；シーケンシャル・ファンクション・チャート)&lt;/li&gt;
&lt;li&gt;FBD（Function Block Diagram；ファンクション・ブロック・ダイアグラム）&lt;/li&gt;
&lt;li&gt;ST（Structured Text；ストラクチャード・テキスト）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;　調べると、FA用にはラダー言語が使われるのが普通のようです。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;●&lt;strong&gt;FA用途とは&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　工場やビルなどの機材を制御するためにフィールド・バスと呼ばれる通信媒体があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;イーサネット&lt;/li&gt;
&lt;li&gt;RS-485&lt;/li&gt;
&lt;li&gt;独自&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;　イーサネットは、通信自体が行き当たりばったりで、一定時間内応答することが確約されていません。実際は、十分高速で混雑していなければ問題はないと思われますが、FA用途ではリアルタイム性をうたった仕様のイーサネットがいくつか利用されています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PROFIBUS&lt;/li&gt;
&lt;li&gt;&lt;span&gt;DeviceNet&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;EtherNet/IP&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;EtherCAT&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;　時間の規定がないのがModbus/TCPです。RS-485を使うのがModbus/RTUです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　日本では三菱電機のCC-Linkが有名ですが、どういうものかは知らないです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;●&lt;strong&gt;Arduino Opta RS485の対応しているプロトコルと入出力&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;　Arduino Opta RS485では、Modbus/TCPとModbus/RTUが利用できます。そのほかにも、ディジタルもしくはアナログ（0～10V）の入力が8個、250 V AC - 10 Aの出力が4個内蔵されています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.denshi.club/plc/.assets/p101c.png&quot; class=&quot;mt-asset-link&quot;&gt;&lt;img class=&quot;asset asset-image at-xid-2658555 mt-image-center&quot; style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;https://www.denshi.club/plc/.assets/thumbnail/p101c-640wri.png&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;710&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;●&lt;strong&gt;電源電圧は12～24V&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　FA用の電子機器は、24Vが使われるようです。Arduino Optaは。12～24Vに対抗しているので、電源はACアダプタが利用できます。電源端子はターミナル端子でねじ止めをするので、DCジャックの直径の規格などを気にすることなく使えます。&lt;/p&gt;
&lt;p&gt;　電源の容量は、現時点でみつかっていません。&lt;/p&gt;
&lt;p&gt;（&lt;strong&gt;2023/3/16&lt;/strong&gt;） USBケーブルをつないだだけで動作するようです。&lt;/p&gt;
&lt;p&gt;　　Getting Started with Optaに、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Power supply of 12-24V DC, 1A (optional if not running the section related to the relays) (x1)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;　と書かれています。出力のリレーを利用するときには、外部電源が必要なようです。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
        
    </content>
</entry>
</feed>
