dbolg
-
Posts
2 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Events
Blogs
Downloads
Articles
Media Demo
Posts posted by dbolg
-
-
Hello,
I have a .net application that connects to a 570 via RS-232 using System.IO.Ports.SerialPort. Normally, it will connect. However, when playing with different baud rates, it sometimes does not connect until I connect the same PC with any Unitronics software (Visilogic or Remote Operator). My question is this:
With VIsilogic, it appears that you can define the baud rate to anything in the connection properties and it always connects. How does the controller adapt accordingly? I think "out of the box", the rate is set to 115200.
If I change my application to 57600, it failes to connect. But, if I connect using Visilogic @ 57600 it works. I go back to my application and then it works. I am trying to determine what Visilogic is doing that I am not. My connection looks like this:
// Connect to the PLCtry{string comPort = Properties.Settings.Default.CommPort;int comBdRate = Properties.Settings.Default.CommBdRate;int comTimeOut = Properties.Settings.Default.CommTimeOut;_serialPort.PortName = comPort;_serialPort.BaudRate = comBdRate;_serialPort.DataBits = 8;_serialPort.Parity = Parity.None;_serialPort.Handshake = Handshake.None;_serialPort.ReadTimeout = comTimeOut;_serialPort.NewLine = "\r";_serialPort.Open();}catch (Exception){// Disconnect from the PLC_serialPort.Close();}Once this executes, I begin sending PCOM commands:try{// Send the message out the serial port._serialPort.DiscardInBuffer();_serialPort.WriteLine(message);// Verify the message was received, catch the timeoutstring response = _serialPort.ReadTo("/A00SBF5");if (response == "/A00SBF5"){//do nothing, success!!}}catch (Exception){_connectionLost = true;_serialPort.Close();return -1;}The _serialPort.ReadTo() catches the timeout (default 1 sec). When that occurs, we assume we lost the connection. Is there something I should be doing to prime the port first?Thanks!
Selecting Baud Rate for PCOM
in Unitronics PCOM Protocol
Posted
This is exactly what I was looking for. I have it implemented just the way you suggest and it appears to be working very good. Thank You!!