
自動釣銭機でClaimDeviceでOPOS_E_TIMEOUTしてしまう
某社の自動釣銭機と RATOCシステム の REX を繋げてLANから自動釣銭機にアクセスさせようと考えていますが、いくら試してもタイムアウトしてしまいます。
調査のため、シリアルケーブルをクロスさせたり、Virtual COM を疑ったり、
自分の中では「実機じゃないとダメなんだ」ということに陥っていましたが、
自動釣銭機が届いて5日目にして、とうとう原因が分かりました。
「データビット」と「パリティー」の設定でした(超重要)。


この「データビット7」と「パリティーEVEN」は超重要です。
これがないと、OPOS の ClaimDevice で OPOS_E_TIMEOUT になってしまうのです。
私が購入した REX-WF60 には「データビット7」が設定できなかったのです(泣)。
RS-ET62では繋がりました。
カタログを見ると「WF60」以外は「データビット7」設定できますね。気をつけてね。
その調査している間、
USB-RS232C変換ケーブルでも試しました。
PC → USB-RS232C変換ケーブル → 自動釣銭機
ではアクセスできるのですが、
PC(Virtual COM ネットワーク)→ USB-RS232C変換ケーブル → 自動釣銭機
だとアクセスできませんでした。これも以下のように構築すればアクセスすることができました。
hub4com.exe --baud=9600 --data=7 --parity=even \\.\COM3 \\.\COM4
COM3 が USB-RS232C変換ケーブル。それを VirtualCOM の COM4⇔COM5 の COM4 に接続して、
COM5 からデータを送って使ってアクセスするコマンド。
COM5 → COM4 → COM3 → 自動釣銭機
以上