I am developping a Serial/Modbus driver for WinCC and I experienced a little problem with Transform class.
I have created a TransformCoil specialized class to transform bit from Modbus to database and reciprocally
In fact, the method TransformCoil::toVar is never called, and the datapoint is never updated.
Where am I doing something wrong in my code:
Code: Select all
HWObject* SerialModbusHWService::storeToDB(QString address, PVSSchar *value) {
HWObject *obj = new HWObject();
obj->setDlen(sizeof(value));
obj->setType((TransformationType)DriverTypes::COILS);
obj->setAddress(address.toStdString().data());
obj->setData(value);
HWMapper* mapper = (HWMapper*)DrvManager::getHWMapperPtr();
if ( mapper ) {
HWObject* addrObj = mapper->findHWObject(obj);
if ( addrObj ) {
try {
DrvManager::getSelfPtr()->toDp(obj, addrObj);
// optional, to send it now !!!!
//DrvManager::getSelfPtr()->sendData2Dp();
DEBUG_DRV_USR2("Message stored to DB " getAddress()