Demo for SECS HSMS communication
通讯库支持SECS-I与HSMS两种通讯方式。区别在初始化时,使用不同的参数类型。其它的函数是一样的。
GemPtr pGem = CGem::GetInstancePtr();
SecsSet sset;sset.sComName = "COM1";sset.uBaudrate = 9600;sset.uDevID = 1;sset.mode = CSECS_EQUIP;pGem->InitLink(sset);
HsmsSet set;set.uLocalPort = 5000;set.mode = CHSMS_PASSIVE;set.uDevID = 1;pGem->InitLink(set);
pGem->SetSecsRecvFun([this](const SecsMessage& msg) {return handleMessage(msg);});
ItemPtr iSend = Item::L();iSend->Append(Item::B(6));iSend->Append(Item::U2(10));iSend->Append(Item::A("Fire Alarm"));SecsMessage smsg{ 5, 1, iSend };mid = pGem->Send(smsg);
ItemPtr item = Item::L();item->Append(Item::A("DemoEquip"));item->Append(Item::A("Rev 1.0"));SecsMessage rmsg{1, 2, item, msg.MID};m_pGem->Reply(rmsg);