76002


キーエンス製のセンサで、ASCIIのやり取りをすることになっています。  
仕様書には、一例としてこのようなデータを送信すると正常に受信するとありました。

[code]

    SR,06,101CRLF（ASCII）
    0x53, 0x52, 0x2C, 0x30, 0x31, 0x2C, 0x31, 0x30, 0x31, 0x0D, 0x0A（16進数）
    
[/code]

この一例をpythonのコードで作成し、送信しましたが、信号は送信されているのですが、アラーム表示が出て、正常に受信されていないようです。  
ASCIIコードの送信を今回始めてpythonで書きました。コードにおかしいところがあるでしょうか？どうかよろしくお願いいたします。

[code]

    import serial
    import time
    ser = serial.Serial('/dev/ttyS0', 9600)
    
    senddata = [0x53, 0x52, 0x2C, 0x30, 0x31, 0x2C, 0x31, 0x30, 0x31, 0x0D, 0x0A]
    send_binary = bytes(senddata)
    
    ser.write(send_binary)
    ser.close()
    
[/code]


CC BY-SA 4.0
2021-05-19T13:09:31.580
75951
2021-05-22T01:52:57.423
2021-05-22T01:52:57.423
44103
44103
question
python
キーエンス製のセンサとpythonを使ったASCIIのやり取り


なんでASCIIという指定なのにバイナリで送ろうとしてるのかよくわかりませんが、

> senddata = [0x53, 0x52, 0x2C, 0x30, 0x31, 0x2C, 0x31, 0x30, 0x31, 0x00,
> 0x0A]

CRのコードの位置に0x00が入ってしまってますよ


CC BY-SA 4.0
2021-05-21T23:40:30.403
76002
2021-05-21T23:40:30.403
27481
75951
answer