Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Generic Modbus Driver - Serial & IP
#1
I have just finished a driver that lets me use any modbus enabled device (hopefully).

If uses both serial and TCP RTU (No ascii mode)

=======================
Configuration File
=======================
You need to create a configuration file that tells the driver all about the fields you want.

The file is a csv file and can be created,edited in Excel easily.

The file is located in \MacroFileRoot\Drivers\Modbus and has the name <moniker>_FieldAlias.csv

There are seven fields to the file. Not all fields are requried, only those that you want to have changed from the default.

Field Name,Address,Data Type,Scaling,Read Only,LoLimit,HiLimit

Field Name - The CQC Field Name
Address - The Modbus address. This is in the format x:yy

Where X is
0 = Digital Output ®
1 = Digital Input (R/W)
3 = Analog Input ®
4 = Analog Output (R/W)

and Y is the address (device specific)

Data Type - You can select what the analog should be, either a Card, Int or float. Most PLC store the data as an integer and often there is a scaling of the value required to get it to a real world value.
2 = Card
3 = Integer
4 = Float

Scale - Used to scale the value returned from the device to make it a real world value.

Read Only - You can force a read write field to be read only if desired.

LoLimit - sets the lower bound for the range.

HiLimit - Sets the upper bound for the range.

=======================
Special Fields
=======================
Two special fields
Offline - takes the driver offline so the serial/TCP port is available.

ReloadConfigFile - allows you to reload the configuration file without having to unload and reload the driver .

This driver has been tested with a Modicon PLC over TCP. I am yet to test over serial - trying to find a Modbus serial device.

I am not the worlds best driver writer, so bear with me if it does not work for you. Its hard yakka for me to get my head around coding.

Mick


Attached Files
.cqcdrvpack   Modbus_Serial_0.6.CQCDrvPack (Size: 17.66 KB / Downloads: 5)
.txt   FieldAlias.txt (Size: 164 bytes / Downloads: 35)
.cqcdrvpack   Modbus_IP_0.6.CQCDrvPack (Size: 17.62 KB / Downloads: 12)
Mykel Koblenz
Illawarra Smart Home
Reply
#2
Posted a new version.

Added ranging into the polling for analog inputs and outputs.
Tested on a serial PLC and Ethernet PLC.

If the device cannot reply to a large data range request (eg 230 registers), the driver will break the polling up into smaller chunks. The size of the range is given to the driver in the manifest.

Mick
Mykel Koblenz
Illawarra Smart Home
Reply
#3
Mick

I have just tried to connect to a 5 port input board using this driver but its unable to connect. Here is what the log is showing:


01/04 15:57:55-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCKit, CQCKit_DriverBase.cpp.2870, Status/App Status
Driver 'ControlByWeb' is trying to get its comm resource
}
01/04 15:57:55-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCKit, CQCKit_DriverBase.cpp.2909, Status/App Status
Driver 'ControlByWeb' has its comm resource
}
01/04 15:57:57-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCKit, CQCKit_DriverBase.cpp.2927, Status/App Status
Driver 'ControlByWeb' is trying to connect to its device
}
01/04 15:57:57-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 04 00 00 00 02 01 11
}
01/04 15:57:57-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCKit, CQCKit_DriverBase.cpp.2969, Status/App Status
Driver 'ControlByWeb' has connected to its device
}
01/04 15:57:57-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CIDMacroEng, CIDMacroEng_MethodImpl.cpp.878, Failed/App Status
An exception was thrown from method MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.ReadBoolFld
}
01/04 15:57:57-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCKit, CQCKit_DriverBase.cpp.4987, Failed/Type Match, Error: 2015/0/0
Field 'ControlByWeb.$BadMsg' was accessed as a MEng.Boolean type, but it's type is MEng.Card4
}
01/04 15:57:57-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCKit, CQCKit_MEngErrHandler.cpp.69, Status/App Status
A C++ exception occured during macro execution
}
01/04 15:57:57-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCKit, CQCKit_DriverBase.cpp.4987, Failed/Type Match, Error: 2015/0/0
Field 'ControlByWeb.$BadMsg' was accessed as a MEng.Boolean type, but it's type is MEng.Card4
}
01/04 15:57:57-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCKit, CQCKit_MEngErrHandler.cpp.152, Status/App Status
MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.Poll() Returns MEng.System.CQC.Runtime.CQCDriverBase.CommResults

}
01/04 15:57:57-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCGenDrvS, CQCGenDrvS_DriverGlue.cpp.1773, Failed/App Status
An exception occured in CML driver method Poll. See the logs
}
01/04 15:57:57-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{
CQCKit, CQCKit_DriverBase.cpp.5107, Status/App Status
Driver 'ControlByWeb' has lost its communcations resource
}
01/04 15:58:02-paul-990, CQCServer, CQCDrv_ControlByWeb_Thread30
{

Any ideas?

Thanks

Paul
CQC, C-Bus, M1, Advantage Air HVAC
Reply
#4
That particular error is typically going to happen when a field id is never set, so it's left at zero, which is the $BadMsgs special field's fixed id. So the driver may be filling in some list of field ids, based on the devices attached but one of them isn't getting set or something.
Dean Roddey
Explorans limites defectum
Reply
#5
Thanks, i forgot to rename the alias file from .txt to .csv, once i have done that it now connects but when i enable the verbose to high, i see errors in the log. Here is the alias file

Field Name,Address,Data Type,Scaling,Read Only,LoLimit,HiLimit
1Relay1,0:02,3,,,,

The DAQ has 5 inputs 1 through to 5, but if i have the address as anything other then 02 it fails to connect. 01 fails, and so does just 1, or 2 or 3. I have tried data type as 2, 3 and 4 but still have the same issue.

01/04 22:29:40-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCKit, CQCKit_DriverBase.cpp.2969, Status/App Status
Driver 'CBW' has connected to its device
}
01/04 22:29:40-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/04 22:29:40-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 11 00 00 00 06 01 01 00 00 00 01
}
01/04 22:29:40-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/04 22:29:40-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 10 00 00 00 03 01 91 01 00 11 00 00 00 04 01 01 01 01]
}
01/04 22:29:40-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.463, Status/App Status
<GetIncomingData>: Wrong Transmittion Identifier received: TxID=16
}
01/04 22:29:41-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/04 22:29:41-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 12 00 00 00 06 01 01 00 00 00 01
}
01/04 22:29:41-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/04 22:29:41-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 12 00 00 00 04 01 01 01 01]
}
01/04 22:29:41-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.543, Status/App Status
<GetIncomingData> Data successfully processed.
}
01/04 22:29:41-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.2122, Status/App Status
Exception in Poll(), ErrorText=Field 1Relay1 was accessed as a type different from its defined type
}
01/04 22:29:41-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCKit, CQCKit_DriverBase.cpp.5107, Status/App Status
Driver 'CBW' has lost its communcations resource
}
01/04 22:29:45-paul-990, CQCServer, CIDOrbSrvWorkThread_1
{
CQCServer, CQCServer_DriverCtrl.cpp.99, Status/App Status
Driver CBW is being reconfigured
}
01/04 22:29:45-paul-990, CQCServer, CIDOrbSrvWorkThread_1
{
CQCServer, CQCServer_DriverCtrl.cpp.177, Status/App Status
Reconfigure of driver CBW is completed
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCKit, CQCKit_DriverBase.cpp.2870, Status/App Status
Driver 'CBW' is trying to get its comm resource
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCKit, CQCKit_DriverBase.cpp.2909, Status/App Status
Driver 'CBW' has its comm resource
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCKit, CQCKit_DriverBase.cpp.2723, Status/App Status
Driver 'CBW' is beginning initialization
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.2003, Status/App Status
<IntializeSerial>: While j < 100000 took 188 millis; spinloop calibrated to 531 loops
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.1274, Status/App Status
GetConfigurationLine(), ConfigurationText=1Relay1,0:02,3,,,,
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCKit, CQCKit_DriverBase.cpp.2870, Status/App Status
Driver 'CBW' is trying to get its comm resource
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCKit, CQCKit_DriverBase.cpp.2909, Status/App Status
Driver 'CBW' has its comm resource
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCKit, CQCKit_DriverBase.cpp.2927, Status/App Status
Driver 'CBW' is trying to connect to its device
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 01 00 00 00 02 01 11
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCKit, CQCKit_DriverBase.cpp.2969, Status/App Status
Driver 'CBW' has connected to its device
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 02 00 00 00 06 01 01 00 01 00 01
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/04 22:29:46-paul-990, CQCServer, CQCDrv_CBW_Thread37
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 01 00 00 00 03 01 91 01 00 02 00 00 00 03 01 81 02]
CQC, C-Bus, M1, Advantage Air HVAC
Reply
#6
That's something driver specific so I'm not sure what the deal is there.
Dean Roddey
Explorans limites defectum
Reply
#7
I'll look at it and get back to you. It will be at least early next week before i can reply. Got to get up to speed with Modbus again as well.

Mick
Mykel Koblenz
Illawarra Smart Home
Reply
#8
Hi Mick

Have you had a chance to look into it?

Thanks

Paul
CQC, C-Bus, M1, Advantage Air HVAC
Reply
#9
i think you have an error in your config file that is producing this error

Exception in Poll(), ErrorText=Field 1Relay1 was accessed as a type different from its defined type

Your alias file
1Relay1,0:02,3,,,,

the 3 indicates that you have set the field as an Integer, and not as a boolean (1).

Apologies for the delay. Summer holidays means that not a lot of time is spent inside.

Mick
Mykel Koblenz
Illawarra Smart Home
Reply
#10
Mick

Thanks, i tried changing it to 1 and that error doesnt show in the logs, but it keeps showing "Wrong fn received 129 expected 1"

01/25 12:45:24-paul-990, CQCServer, CIDOrbSrvWorkThread_4
{
CQCServer, CQCServer_DriverCtrl.cpp.210, Status/App Status
Remote client forcing load of driver. Moniker=CBW. M/M/V=Modbus/Generic/0.1
}
01/25 12:45:24-paul-990, CQCServer, CIDOrbSrvWorkThread_4
{
CQCServer, CQCServer_DriverCtrl.cpp.289, Status/App Status
Remotely loaded driver CBW loaded successfully
}
01/25 12:45:29-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/25 12:45:29-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 0A 00 00 00 06 01 01 00 01 00 01
}
01/25 12:45:29-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/25 12:45:30-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 0A 00 00 00 03 01 81 02]
}
01/25 12:45:30-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.480, Status/App Status
<GetIncomingData>: Wrong fn received 129 expected 1
}
01/25 12:45:30-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/25 12:45:30-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 0B 00 00 00 06 01 01 00 01 00 01
}
01/25 12:45:30-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/25 12:45:30-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 0B 00 00 00 03 01 81 02]
}
01/25 12:45:30-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.480, Status/App Status
<GetIncomingData>: Wrong fn received 129 expected 1
}
01/25 12:45:31-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/25 12:45:31-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 0C 00 00 00 06 01 01 00 01 00 01
}
01/25 12:45:31-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/25 12:45:31-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 0C 00 00 00 03 01 81 02]
}
01/25 12:45:31-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.480, Status/App Status
<GetIncomingData>: Wrong fn received 129 expected 1
}
01/25 12:45:31-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/25 12:45:31-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 0D 00 00 00 06 01 01 00 01 00 01
}
01/25 12:45:31-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/25 12:45:32-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 0D 00 00 00 03 01 81 02]
}
01/25 12:45:32-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.480, Status/App Status
<GetIncomingData>: Wrong fn received 129 expected 1
}
01/25 12:45:32-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/25 12:45:32-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 0E 00 00 00 06 01 01 00 01 00 01
}
01/25 12:45:32-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/25 12:45:32-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 0E 00 00 00 03 01 81 02]
}
01/25 12:45:32-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.480, Status/App Status
<GetIncomingData>: Wrong fn received 129 expected 1
}
01/25 12:45:33-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/25 12:45:33-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 0F 00 00 00 06 01 01 00 01 00 01
}
01/25 12:45:33-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/25 12:45:33-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 0F 00 00 00 03 01 81 02]
}
01/25 12:45:33-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.480, Status/App Status
<GetIncomingData>: Wrong fn received 129 expected 1
}
01/25 12:45:33-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/25 12:45:33-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 10 00 00 00 06 01 01 00 01 00 01
}
01/25 12:45:33-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/25 12:45:34-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 10 00 00 00 03 01 81 02]
}
01/25 12:45:34-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.480, Status/App Status
<GetIncomingData>: Wrong fn received 129 expected 1
}
01/25 12:45:34-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/25 12:45:34-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 11 00 00 00 06 01 01 00 01 00 01
}
01/25 12:45:34-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/25 12:45:34-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 11 00 00 00 03 01 81 02]
}
01/25 12:45:34-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.480, Status/App Status
<GetIncomingData>: Wrong fn received 129 expected 1
}
01/25 12:45:35-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.757, Status/App Status
Entering PollOutputs()
}
01/25 12:45:35-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
[SendMessage] Sending msg: 00 12 00 00 00 06 01 01 00 01 00 01
}
01/25 12:45:35-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.404, Status/App Status
<GetIncomingData>: Entering function
}
01/25 12:45:35-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.201, Status/App Status
<GetIncomingData>: Msg received [00 12 00 00 00 03 01 81 02]
}
01/25 12:45:35-paul-990, CQCServer, CQCDrv_CBW_Thread30
{
CQCGenDrvS, MEng.User.CQC.Drivers.Modbus.Generic.DriverImpl.480, Status/App Status
<GetIncomingData>: Wrong fn received 129 expected 1
}
01/25 12:45:35-paul-990, CQCServer, CQCDrv_CBW_Thread30
CQC, C-Bus, M1, Advantage Air HVAC
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Generic Irrigation Scheduler jkish 571 187,870 06-12-2019, 12:10 PM
Last Post: Dean Roddey
  New Driver - How hard would this be? kblagron 4 487 05-20-2019, 11:28 AM
Last Post: zaccari
  Cytech Comfort Driver znelbok 6 448 04-10-2019, 05:39 PM
Last Post: znelbok
  OpenHAB Driver whozeawhat 6 2,298 01-16-2019, 06:45 AM
Last Post: greymatter
  LIFX Driver bobskie708 14 3,881 01-10-2019, 06:36 PM
Last Post: Dean Roddey
  XBMC Driver wuench 428 185,543 12-28-2018, 11:07 AM
Last Post: dogman
  Amazon Echo Hue Simulator Driver wuench 117 49,604 12-24-2018, 11:10 AM
Last Post: Dean Roddey
  RunTimer2 driver rbroders 15 5,562 12-14-2018, 05:28 PM
Last Post: rbroders
  Driver for Bigass Fan lleo 7 910 11-25-2018, 08:57 AM
Last Post: Dean Roddey
  Issues debugging IP based driver jnolting 5 1,253 09-24-2018, 11:52 AM
Last Post: Dean Roddey

Forum Jump:


Users browsing this thread: 1 Guest(s)