HCBBS Forum (日本語)
Submit Chemical Projects / Find Solutions
Amplify Your Requirements on a Broader Chemical Platform *Engineering · Technology · Equipment · Solutions*
Submit Request

MODBUS RTU通信の問題

2015-11-17View Original

Thread Content

現在、あるシステムとDCSがMODBUS通信を使用しており、DCSは中控JX-300XPシステムです。問題は以下の通りです:相手側のシステムから送信されるデータには2バイトと4バイトの2種類があり、2バイトのデータは正常に処理できますが、4バイトのデータは正常に解析できません。問題はほぼ明らかになりました。つまり、相手方が指定したレジスタアドレスは32ビットの4バイト変数ですが、DCSでは4バイト変数を直接読み取ることができないのです。どのような方法で解決できるでしょうか?
Reply #22015-11-18
32ビットの場合、それは実数でしょう。現在、相手側のシステムで16ビット整数に変換され、その後こちらの中央制御装置で再び変換されます。
Reply #32015-11-18
Modbusプロトコルには32ビットのデータ型は定義されておらず、16ビットのレジスタデータのみが規定されているため、スレーブ側であれマスター側であれ、自分でプログラミングしてこのデータ型の問題を解決する必要がある
Reply #42015-11-21
高16ビットと低16ビットの順が入れ替わっている可能性が高く、スレーブ側で浮動小数点数を16ビット整数に変換するか、またはマスター側で高16ビットと低16ビットを入れ替えることができます
Reply #52015-11-23
Modbusスキャンを行って、データタイプを確認しましょう。64ビットのdouble型である可能性があります。一部のシステムでは実際にdouble型が使用されており、例えばダニエル式流量計の累計値はこのデータタイプです。浮動小数点数は一般的に4バイトで、並び順は1234/3412/2143/4321などが一般的です。。。。特別なものに出会うと吐き気がする。。。。 シーメンスPLCでModbus通信ドッグを使用する場合、浮動小数点形式は3412で、通常のものは1234です
Reply #62015-11-24
DCSのマニュアルを見て、データ型の定義方法を確認してください。realと呼ばれるものもあれば、dwordと呼ばれるものもあります
Reply #72015-11-26
投稿者と他のユーザーの方々はMODBUSプロトコルを使用していますが、MODBUS_RTUプロトコルでは1回にn個のデータを送信できます。このnの最大値はいくつですか?つまり、MODBUS_RTUでは1回に最大で何個のデータを送信できるのか?nは無限大にはなれないよ、そうだとデータが送り切れなくなるから。

Submit a Project

**Looking for Chemical Technology, Equipment & Solutions?** No Registration Required Broader Platform Exposure | Global Chemical Service Provider Connections

Submit Request — Free Consultation

Disclaimer

This is an automated machine translation of the original thread. Some technical terms may have inaccuracies; the original text shall prevail. Click "View Original" at the top right to access the source page, which supports IP-based automatic real-time language translation. Please watch out for contact details and sales inducements to prevent fraud. All content and translations are for reference only, representing solely the poster's personal views. For enquiries, email service@hcbbs.com.