alan,
man, i must come off sounding more ignorant than i thought. it's okay. when i wrote my first message, i didn't know what 'modbus' meant, other than my gc had one and i had to get numbers out of it. 🙂
i know all about the different serial protocols, down to standard pinouts and voltage levels on each. i've learned the modbus 'language', so to speak, in one night. it's just a bunch of function codes and addresses, really, sent in a specific format, and differences in what is sent depend on the type of framing used. before i learned the 'language' i was looking for drivers that would do all the dirty work for me to save time.
now that i know the format and the order numbers are sent using the specific protocol of the modbus in my gc (it's a modicon 584), i'm thinking i might not need those special drivers. i already use labview to communicate with microcontrollers via rs232, so i've got serial communication down. it was modbus protocol that i didn't understand. now that i know that, i'm looking for specifics that might trip me up later. for example, i had to learn that if i send data to my microcontrollers before they are ready to receive, i fill up the 2 byte buffer and an error bit gets set, which disables serial receiving until i clear that bit. it's things like that i am now looking for - little errors that aren't in the general documentation on a modbus that can set me back for days while i search through fine print, or general knowledge that isn't written anywhere that people in the field know, but the people that wrote my documentation don't.
i didn't think of any problems associated with converting half-duplex rs422 to 232. this way, i pay attention to it now instead of hooking it up, finding it doesn't work, and spending hours learning what someone that's already tried it could tell me in 1 minute.
so, to give an idea of what i'm doing: my labview program is the master, my gc is the slave, i'm going to check an output register to see if a change in the number stored in that register has occured, and if it has, i'm going to read 3 input registers. i'm going to do all of this over rs422 (unless i have more problems getting my 485 card to work in my dell), and i'm going to write my own program to do it using labview visa serial functions. i will format my commands in RTU framing (which is the only mode the gc uses), calculate the CRC number, send the 'command', and figure out what the modicon modbus protocol manual means by that timing stuff that seems to be so important in RTU mode. then i will read the response from my slave (gc), and i have my data, which i'm going to store in a file. the numbers in that file will later be sent to those microcontrollers i was talking about and used by them to maintain some gas concentration setpoints.
so, does anyone out there see any problems in this that i'm missing due to the fact that i've know about modbus protocol for exactly 5 days now?
and by the way, how does one get a half-duplex 422 signal to output on full duplex wiring? the guys who built my gc have 5 wires coming out of the modbus that are set up like full duplex, but it's a half duplex modbus. (they've been a little vague on the subject because the only guy who actually knows about the thing is out on sick leave for the next month). i think knowing some specifics on this might save me some headaches. i've learned that nothing is ever as easy as it looks on paper.