Putty を使用して、Microsoft の Windows 8 PC から PLC (Advantech uno-2372g) に、USB-RS232 経由で PLC のシリアル ポート (ttyS0) に接続したいと考えています。PLC に接続しようとしていますが、うまくいきません。
シリアルポート ttyS0 をリッスンするように Ubuntu 側を設定するにはどうすればよいですか?
答え1
Ubuntu 側では、通常は次のようにします (GRUB2 と systemd があることを前提とします)。
GRUB2 でシリアル コンソールを設定すると、systemd はデフォルトで GRUB2 と同じシリアル デバイス上に getty リスナーを作成します。したがって、これは systemd で実行する Linux に必要な唯一の設定です。grub でシリアル コンソールを有効にするには、/etc/default/grub
エディターで開きます。GRUB_CMDLINE_DEFAULT
コンソールを起動する行を変更します。以下の例では、 とシリアル ポートに の/dev/ttyS0
2 つのコンソールを設定していることに注意してください。tty0
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,38400n8"
ここで、シリアル コンソールを有効にするために、コンソールがどこにあり、どのコマンドを開始するかを grub に伝える必要があります (Linux カーネルの場合、上記のように、grub に複数の入力/出力端子を追加できます。たとえば、GRUB_TERMINAL="console serial"
ディスプレイとシリアルの両方を有効にすることができます)。
## Serial console
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=38400 --unit=0 --word=8 --parity=no --stop=1"
grub.cfg
次のコマンドでファイルを再構築します。
# grub-mkconfig -o /boot/grub/grub.cfg
再起動後、getty は をリッスンし/dev/ttyS0
、38400
ボー、8 データ ビット、パリティなし、ストップ ビット 1 を期待します。システムが起動すると、 はsystemd
同じ設定で同じデバイスをリッスンする getty セッションを自動的に開始します。
PuTTY では、ボー速度を選択しserial
て入力します。38400