SIEMENS西门子广西省崇左市(授权)电机一级代理商——西门子华南总代理

供应商
广东湘恒智能科技有限公司
认证
西门子总代理
PLC
西门子一级代
驱动
西门子代理商
伺服电机
联系电话
15903418770
手机号
15915421161
联系人
张经理
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
更新时间
2024-05-17 07:00

详细介绍

通常一个上位机项目中可能不止一台plc,也可能除了plc外,还连接有其它设备,比如带通信的仪表等。那么我们的代码就需要支持不同的通信协议,并且还需要支持这些具有相同或者不同协议的设备同时进行数据访问。


根据此设计规则,在重构的c#上位机实例中,为了使我们的项目可以方便的引入其它协议,我们抽象了一个通信类commdrive。然后我们的s7和modbustcp都是派生自这个抽象类。


s7驱动


modbus tcp驱动

只需要我们按照约定对协议进行封装,我们在项目中就可以无缝地访问不同协议的不同设备。在ui或者业务逻辑的编码中我们只需要绑定变量名称即可。不需要关心它采用的是哪种协议。设备数据由单独的异步任务负责,大家各司其职。

在下面的代码中,它根据变量“pos_2“的上升沿归档产量信息。同时被归档的信息中,除了订单信息、公司信息等,还有来自变量资源池的重量数据。














if (pn[0].p(convert.toboolean(plc.tagsplc1["pos_2"].value1.tostring()))){ productmodel pm = new productmodel(); pm.dt = datetime.now; pm.order = configurationmanager.appsettings["n1_order"]; pm.company = configurationmanager.appsettings["n1_company"]; pm.carname = configurationmanager.appsettings["n1_carnumber"]; pm.production = configurationmanager.appsettings["n1_production"]; pm.silo = configurationmanager.appsettings["n1_silo"]; pm.station = configurationmanager.appsettings["n1_station"]; pm.weight = math.round(convert.todouble(plc.tagsplc1["lastweight"].value1.tostring()),1); dal.dboperation.addoperation(pm);}

综上,这种实现ui/业务逻辑与驱动解耦的架构主要有下面几点优势。具备这几点优势,我们的上位机代码才是真正的工程级代码。

代码的高复用率;

支持快速连接多种设备;

方便接入各种其它驱动;

便于维护与扩展;

快速排查问题;


PLC,变频器,代理商,一级代理,伺服电机

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话