工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 産業技術

PLCnext PLC を疑似 TTY 経由でリモート RS232/RS485 に接続する

この Makers Blog 記事では、Com Server が PLCnext プラットフォームに提供する可能性と利点について説明します。

はじめに

フエニックス コンタクトが PLC 用に提供する拡張モジュールは、たとえば次のようなシリアル アダプタです。

すべての拡張モジュールには共通点があります。プロセスデータを介して周期的にアクセスできます。これにより、リアルタイム アプリケーションからシリアル デバイスと直接やり取りできるようになります。

場合によっては、これは私たちが望むものではありません。代わりに、既存の (C/C++) ライブラリを再利用したいので、リアルタイム コンテキストは必要ありません。ただし、これらのライブラリは通常、COM または TTY インターフェイスに直接アクセスできるようにプログラムされていることがわかります。

PLCnext Control の TTY インターフェイスを作成するには、2 つのオプションがあります。 :

<オール>
  • PLCnext Runtime 内から AXL または IL シリアル アダプタ用の TTY インターフェイスを作成するいくつかの関数 (C++ / C#) を実装します。 .
  • GW デバイス サーバーなどの COM サーバー デバイスの使用
  • GW Device Server 透明な TCP to Serial を提供します インターフェース。 Socat のようなツールの助けを借りて シリアル/TCP トラフィックを疑似 TTY インターフェイスに直接転送できます。 GW Device Server の使用 また、TLS 暗号化チャネルを介して遠隔地にあるシリアル デバイスと通信することもできます。

    注意

    このチュートリアルでは、PLC がクライアントとして機能し、GW Device Server への接続を確立します。 .

    (ただし、PLC Socat を切り替えることも可能です) リッスン オプションに接続し、GW をクライアントとしてアクティブに PLC に接続します。)

    セットアップ

    GW デバイス サーバーのセットアップ

    GW Device Server に接続します ウェブベースの管理を介して。 GW Device Server のデフォルトの IP アドレス は 192.168.254.254 です。

    以下の設定を使用します:

    LAN 設定 – セキュリティ
    シリアル設定

    GW デバイス サーバーのテスト

    GW Device Server が設定されているかどうかをテストするには 正しく、最初に PLC を GW Device Server に接続します イーサネット経由。次に、GW Device Server の 2 つの DSUB アダプターを接続します。

    ツール Telnet を使用してセットアップをすばやくテストできます .このツールを使用すると、PLC から GW Device Server にデータを送信できます。 Port8000/COM1 でシリアル ケーブルを介して Port8001/COM2 に送信し、最後に PLC で受信します。

    以下のコマンドを使用します:

    ssh [email protected]
    sudo passwd root
    su root
    ip addr add 192.168.254.10 dev eth0
    telnet 192.168.254.254 8000
    ## open another shell session
    telnet 192.168.254.254 8001
    # Type some messages

    Socat の構築

    Socat をビルドするには Linux OS で簡単に実行するには、次のコマンドを使用します:

    mkdir tmp
    cd tmp
    git clone git://repo.or.cz/socat.git
    cd socat
    
    ## TODO: Modify to your SDK location
    source /opt/pxc/release/axcf2152/2020/0/environment-setup-cortexa9t2hf-neon-pxc-linux-gnueabi
    . /opt/pxc/release/axcf2152/2020/0/site-config-cortexa9t2hf-neon-pxc-linux-gnueabi
    
    mkdir install
    autoconf
    ./configure $CONFIGURE_FLAGS --prefix=$(pwd)/install --enable-openssl-method
    make -j2
    make install

    Socat のデプロイとインストール

    Socat をデプロイするには インストール後、次のスクリプトを実行します:

    cd tmp
    mkdir -p deploy
    cd deploy
    mkdir -p usr
    cp -r ../../Daemon/* .
    cp -r ../socat/install/* usr/
    
    # Create package
    tar -cf ../socat-binaries.tar .
    cd ..
    scp socat-binaries.tar [email protected]:~/
    ssh -ttt [email protected] \
    "mkdir -p /opt/plcnext/socat-binaries && \
    tar -xf /opt/plcnext/socat-binaries.tar -C /opt/plcnext/socat-binaries"

    展開後、PLC に ssh できるようになりました。したがって、最初に次のコマンドを実行してディレクトリと構成ファイルを設定し、PLC を準備します。

    deploy$ ssh [email protected]
    
    [email protected]:~$ su root
    [email protected]$ mkdir -p /etc/default/socat
    [email protected]$ touch /etc/default/socat/socat.conf
    [email protected]$ touch /etc/init.d/SocatDaemon

    ここで、socat.conf を変更します ファイルを使用して、必要に応じてシリアル インターフェイスのパラメーターを構成します。

    nano /etc/default/socat/socat.conf

    ファイルの中身はこんな感じです。

    TARGETIP="192.168.254.254"
    TARGETPORT="8000"
    TTYNAME="/dev/ttyGWDeviceServer"
    OPTIONS="pty,link=$TTYNAME tcp-connect:$TARGETIP:$TARGETPORT,forever,interval=15"
    
    BAUD="9600"
    PARITY=""
    DATABITS="csN 8"
    STOPBITS="-cstopb"
    FLOWCONTROLL=""

    さらにパラメーターを変更する必要がある場合は、SocatDaemon も変更する必要があります。 ファイル。 TTY パラメーターの詳細については、stty のマニュアル ページを参照してください。

    SocatDaemon を作成します GW Device Server に自動的に接続するためのファイル Socat を使用

    注:

    この SocatDaemon ファイルは、エラー/切断管理などを行わない例です。

    nano /etc/init.d/SocatDaemon

    ファイルには次の内容が含まれています。(クリックしてコードを表示/非表示)

    すべての構成ファイルが配置されたので、Socat のセットアップに進みます。 バイナリと Socat の登録

    chmod +x /etc/init.d/SocatDaemon
    cd /opt/plcnext/socat-binaries
    chmod +x usr/bin/*
    
    cp -r usr /
    
    update-rc.d -s -v SocatDaemon 99
    /etc/init.d/SocatDaemon start

    すべてが正しく設定されていれば、ps -e | grep socat のようなコマンドを使用して実行中のデーモンを確認できます。 . Socat も確認できます cat /var/log/socat.log にあるログ .

    端末から TTY インターフェースにアクセスする

    これで、TTY インターフェースを介してメッセージを送信できます。

    sudo echo "PLC to GW $var" > /dev/GWDeviceServer

    疑似 TTY を継続的にテストするには、次のようなコマンドを使用できます

    while true; do sleep 5 && sudo echo "PLC to GW $var" >/dev/ttyUSB0 && var=$((var+1)); done

    cat /dev/GWDeviceServer を実行すると、着信トラフィックを表示できます。 .これで、あらゆるアプリケーションが、PLC に直接接続されているかのように、GW デバイス サーバーに接続されたシリアル デバイスにアクセスできます。


    産業技術

    1. 産業用ドライブ用PLC
    2. テンティングによるPCBとは何ですか?
    3. クラウドモニタリング、リモートコントロールシステム
    4. リモート生産管理の5つの利点
    5. grpcurl を使用したリモート gRPC
    6. SNMP経由でPLCnext Controlデバイスを管理する
    7. PLCnextでのクラスタ管理?
    8. PLCnext Tableau ダッシュボード
    9. PLCnext Power BI レポート
    10. PLCnext Grafana ダッシュボード
    11. PLCnext ControlのJavaアプリケーション