Industry Online Support
Technical Forum
12/15/2010 11:38 AM | |
Joined: 1/17/2007 Last visit: 9/30/2024 Posts: 1546 Rating: (537)
|
I do wish manufacturers would not use custom function codes. As soon as you do this, it immediately alienates you from just about every modbus package. The problem with custom fuction is just that, they are custom. So one manufacturer may use a completly different data structure to another manuafacturer for the same custom fuction code. Thus it is impossible to add these to a standard modbus driver implementation and support these devices. The Siemens modbus driver packages only support the standard modbus function codes, and as such will not be of any help. As I see it you have 2 options:- 1) Write your own modbus interface block in SCL/STL/FBD using the ASCII CP point-to-point interface. I wrote my own some time ago and it took me about 18 months. However mine was very complex and supported all CP types, was master or slave (selectable), was RTU or TCP (selectable) and also had disgnostic support. A simpler implementation could be achieved in 12 weeks or so if you are a competant programmer and know the modbus protocol well. 2) Use an interface convertor that would interface with the customer unit and transpose the custom function code structure to a standard function code structure, then use the standard Siemens modbus package to read the data from the convertor. I have done this before when interfacing to a Vibration system that used a custom function code and it worked fine. The unit I used was the Modbus RTU Serial Gateway from a company called HMS (Anybus). This device has a standard modbus RTU interface on one side and a programable interface on the other side. The programming is through a simple menu based interface. A few weeks of effort should be enough to get you something that works. |
Programming today is the race between software engineers building bigger and better idiot proof programs, and the universe producing bigger and better idiots. |
|
Follow us on