Issue
Do I need an X Driver to send simple ASCII strings to a third party system?
Environment
Plain English Drivers
PE Driver, Raw Mode
CX Controllers
Netcontroller II
bCX
ACX
Cause
Require the limitations of Plain English drivers
Resolution
It is possible to create a Plain English driver to print ASCII data out of a Comm port.
Use the Open, Close and Print keywords to develop your program in a CX or bCX controller, if you go to the "Help, Contents" on Cyberstation Explorer you can enter these keywords and get full details on their use including example programs. You can also read responses from the 3rd party system with the "Read" keyword.
The Plain English program would be able to print out any information that can be put into an InfinityString. The characters that a PE Driver cannot handle are the FFh (255) and 0H (null) characters, to use these would require the use of an X Driver or another form of gateway to an open protocol.
If you have a first generation controller (CX9900, CX9400 etc) there is a Generic ASCII "X Driver Filter" that can be used to print/ read an ASCII string with no character limitations. If the port is X Driver enabled then download software X-Driver Filter
The CHR keyword can be used to send "Non printable characters".
The other thing is that a Plain English Driver will be dependent on the controller scan time so it would not be suitable for any protocols that are timing critical and the controller scan time must be kept low.
As a general rule of thumb, if you can send the required characters out using Hyperterminal and the system accepts it, then a PE program should be able to send them too.
The attached document is an example of a Plain English driver that was written a while ago to communicate with a Video Recorder over an RS232 link, the principles and techniques used in this example show the use of the above keywords as well as some of the string manipulation keywords. Download it here.
This also applies to the ACX57xx controllers but they only have a single half duplex RS485 port which may not be suitable for all applications.