当前位置: 首页 > news >正文

网站大全软件厂家网页制作

网站大全软件,厂家网页制作,电脑版网页登录入口,牡丹江网络推广公司高速数据采集要保证速度#xff0c;也要保证时刻的准确性。在windows系统里#xff0c;时间稳定性是个很难的问题。如果PLC发送的数据里带有时间信息#xff0c;则可以由PLC来保证采样周期的稳定性。 从V2.12版本开始#xff0c;PLC-Recorder软件可以处理发送电文里的时间…高速数据采集要保证速度也要保证时刻的准确性。在windows系统里时间稳定性是个很难的问题。如果PLC发送的数据里带有时间信息则可以由PLC来保证采样周期的稳定性。 从V2.12版本开始PLC-Recorder软件可以处理发送电文里的时间戳有网友用0.24ms的速度外发软件也能够稳定接收并精确确定数据的时刻。 本文向大家展示一下汇川CODESYS平台PLCAM等系列通过UDP快速通讯的实现方法。 一、测试条件 下面用AM401实现带有时间戳的高速数据采集测试条件如下 PLC的主任务设置成1ms的循环最小只能设置成1ms。测试发现设置为“惯性滑行”时实际周期为3ms)。通讯协议UDP目前只有该协议在高速模式下才支持时间戳。编程软件和系统InoProShop基于CODESYS V3平台PLC的系统版本3.5.11.10IP地址192.168.0.1微型工控机Intel® Celeron J1900 2.0GHz四核低功耗处理器 4核 4G内存SSD硬盘无风扇WIN10系统无其他大型软件。IP地址192.168.0.100。 二、测试结论 本次测试采用了连续循环每两个周期发送一次上升沿触发。实测发送周期2ms 三、PLC的发送程序 1、时间戳 通过读取PLC的启动后的运行时间精确到纳秒本软件支持微秒和毫秒时间戳来获得时间戳输出恰好uint32类型PLC里是udint此处选择微秒为单位从0到4_294_967_295之间递增自然翻转自动归零。70分钟翻转一次。时间戳是个时间差值PLC-Recorder在开始记录时会将首个时间戳与计算机的当前时间进行比较对时后续就用相对时间进行计算并自动处理翻转的问题。因此PLC不需要保证绝对时钟的准确性只要相对稳定即可。 2、自定义的数据结构 本试验用联合数据类型Union)结合结构变量解决结构体变量转字节数组的问题详细参考文章。相关数据结构如下 TYPE union_udint : UNIONValue:UDINT;Bytes:ARRAY[0..3] OF BYTE; END_UNION END_TYPETYPE union_uint : UNIONValue:UINT;Bytes:ARRAY[0..1] OF BYTE; END_UNION END_TYPETYPE union_real : UNIONValue:REAL;Bytes:ARRAY[0..3] OF BYTE; END_UNION END_TYPETYPE union_lreal : UNIONValue:LREAL;Bytes:ARRAY[0..7] OF BYTE; END_UNION END_TYPETYPE DUT_SEND_DATA: STRUCTSTAMP :union_udint;//单位为微秒的时间戳data1:union_uint;//UInt类型的数值data2:union_real;//浮点数类型的数值data3:union_lreal;//双精度类型的数值 END_STRUCT END_TYPE 3、主程序的局部变量 VARUDP_Peer_1 :UDP_Peer;UDP_Send_1:UDP_Send;ib_Connect_Enable: BOOL:TRUE;//连接允许PLC_IpAddrLocal:STRING:192.168.0.1 ;//PIC本地IP地址此处用于计算机仿真实际请参考PLC配置进行修改。PLC_PortLocal:UINT:1217;//PIC本地端口号vb_dConnection: __XWORD;//UDP通讯句柄ob_Connect_Done: BOOL;//连接完成ob_Connect_Busy: BOOL;//正在连接ob_Connect_Error: BOOL;//连接出错ob_Connect_Actived: BOOL;//连接成功ob_Connect_ErrorID: DWORD;//连接错误信息ib_Send_Enabled: BOOL:TRUE;//发送允许 isi_ServerIP: STRING:192.168.0.100 ;//服务器IP地址此处用于计算机仿真实际请参考PLC配置进行修改。;isi_ServerPort: UINT:5010; // 服务器端口号id_SendLength: UINT:200;//发送长度字节id_SendBuffer:ARRAY[0..199] OF BYTE;//发送缓冲器。vd_SendTimeOut: UDINT:500000;//超时长度usob_SendDone: BOOL;ob_SendBusy: BOOL;ob_SendErrorID: DWORD;sendData:DUT_SEND_DATA;clockus:ULINT;pArray:UINT;i:UINT;sendPulse:BOOL; END_VAR 4、PLC程序 GetSystemTime(uliTimeUsclockus);//获取运行时间微秒为单位 sendPulse:NOT(sendPulse);//发送脉冲每周期跳变一次 sendData.STAMP.Value:ULINT_TO_UDINT(clockus);//截取低4字节的值。 //周期计数 IF sendPulse THENsendData.data1.Value:sendData.data1.Value1;IF UINT_TO_INT( sendData.data1.Value) 30000 THENsendData.data1.Value:0;END_IFsendData.data3.Value:UINT_TO_LREAL(sendData.data1.Value); END_IF//数据打包到发送缓冲器直接操作字节数组。 pArray:0; FOR i:0 TO SIZEOF(sendData.STAMP.Bytes)-1 BY 1 DOid_SendBuffer[pArray]:sendData.STAMP.Bytes[i];pArray:pArray1; END_FOR FOR i:0 TO SIZEOF(sendData.data1.Bytes)-1 BY 1 DOid_SendBuffer[pArray]:sendData.data1.Bytes[i];pArray:pArray1; END_FOR FOR i:0 TO SIZEOF(sendData.data2.Bytes)-1 BY 1 DOid_SendBuffer[pArray]:sendData.data2.Bytes[i];pArray:pArray1; END_FOR FOR i:0 TO SIZEOF(sendData.data3.Bytes)-1 BY 1 DOid_SendBuffer[pArray]:sendData.data3.Bytes[i];pArray:pArray1; END_FOR //UDP通讯链路创建 UDP_Peer_1(xEnable:ib_Connect_Enable,strIpAddrLocal:PLC_IpAddrLocal,uiPortLocal:PLC_PortLocal,xDoneob_Connect_Done,xBusyob_Connect_Busy,xErrorob_Connect_Error,dwErrorIDob_Connect_ErrorID, xActiveob_Connect_Actived,hPeervb_dConnection);//UDP发送指令 UDP_Send_1(xExecute:ob_Connect_Actived AND vb_dConnection0 AND ib_Send_Enabled AND sendPulse,hPeer:vb_dConnection,strIpAddrDst:isi_ServerIP,uiPortDst:isi_ServerPort,uiSize:id_SendLength,pbyData:ADR(id_SendBuffer),udiTimeOut:vd_SendTimeOut,xDone ob_SendDone,xBusyob_SendBusy,dwErrorIDob_SendErrorID); 四、PLC-Recorder侧的通讯设置 请用帕姆齐设备类型目前仅该类型支持时间戳功能并选择时间戳单位为usPLC-Recorder V2.12.7开始支持该功能。需要配置来源的IP地址及本机收听的端口号。 五、PLC-Recorder的通道配置 此处虽然配置了采集周期但在高速模式下不再使用该周期以收到信息的时刻为准以下是PLC-Recorder V3的界面与V2稍微不同请注意。 六、PLC-Recorder的变量配置 从最后一个变量的起始地址和变量长度可以确定该通道的通讯电文的长度。对于TCP类型的连接电文长度需要通过最后变量进行确定下例子看出电文长度为200字节。 对于UDP类型的通讯UDP是按照完整报文进行传输的可以自动获取长度信息因此不需要关注最后变量。 变量配置时不需要定义所有的变量仅需要定义自己关注的变量即可。 起始地址为0的变量就是PLC里定义的时间戳。 七、记录数据的情况 这是用离线分析软件Ana打开的历史数据文件分析时长0.5小时采集次数96万。从左侧的统计数据可以看出平均采集周期是2ms与PLC1ms的周期对应。从右侧的波形和标尺可以看出点距非常均匀。 八、小结 汇川的中型PLC是基于CODESYS平台UDP通讯程序可以供其他类似系统借鉴。 采集的速度越快需要的技术越复杂代价也越大。PLC-Recorder的主动采集模式基本只需要在PLC-Recorder里配置变量不需要在PLC做什么复杂工作这种方式很便捷但是速度也有限最快20ms。高速模式就需要在PLC里配置通讯组织数据然后调用通讯语句才能够实现因此对于PLC工程师也有了一点要求。 高速模式采用标准以太网通讯协议这也是大部分PLC都具备的能力因此可以被广泛用于快速数据采集。 2023-10-8
http://www.hkea.cn/news/14291992/

相关文章:

  • 江门网站程序开发制作空包网网站怎么做的
  • 中航鑫源建设集团有限公司网站东莞网站建设基础型
  • 中国最大型网站设计免费素材网站有哪些
  • 洛阳网站建设费用济南网站备案程序
  • 深圳做网站建设的哪家效果好又便宜东莞广告网站建设
  • 购买了网站如何使用做辅食网站
  • dedecms怎么把一个网站的文章导出导到另一个站里宣传片制作公司报价及图片
  • 厦门 网站建设公司电话做网站要服务器和什么软件
  • 有免费做网站的吗个人免费建站软件
  • 中企动力网站建设湛江企业网站seo
  • seo技术交流论坛福州百度推广排名优化
  • 企业网站建设框架seo怎么优化关键词排名
  • 网站运营管理方案微信分销系统价格
  • 如何做网络网站推广昆明专业网站建设公司
  • 网站设计与建设课后题答案企业服务app下载
  • 西宁建一个网站公司台州网站建设网站
  • 网站建设培训视频织梦网站首页模板路径
  • 做数据同步的两个网站网站制作公司教你怎么制作网站
  • 关于网站建设的问卷调查电脑租赁平台哪个好
  • WordPress网站封装app教程正规手游代理平台有哪些
  • wordpress 产品属性泉州百度网站快速优化
  • 专业做蛋糕视频网站免费在线观看电影
  • wordpress xss跨站脚本漏洞杭州seo中心
  • 淘宝上网站开发退款重庆免费网站推广软件
  • 淘宝客单页网站怎么做漯河市建设工程信息网
  • 去类似美团网站做软件开发kingcms 暂未创建网站首页
  • flash做网站哪个网站有教做面食
  • 芯港小镇建设管理中心网站如何进行网络营销服务创新
  • 佛山网站建设设计公司做网站 江门
  • 做一个信息网站多少钱php 禁止电脑访问网站