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

建站公司网站社区中立建设集团有限公司网站

建站公司网站社区,中立建设集团有限公司网站,四川建设网官网登录,电商外贸平台有哪些一、项目背景说明: 有的设备中,需要读取PLC的数据并绘图(比如压装曲线),本案例做了一个压装曲线的demo,效果见下图: 淘宝网上商品的连接如下:https://item.taobao.com/item.…

一、项目背景说明:
        有的设备中,需要读取PLC的数据并绘图(比如压装曲线),本案例做了一个压装曲线的demo,效果见下图:

淘宝网上商品的连接如下:https://item.taobao.com/item.htm?ft=t&id=934043951571&spm=a21dvs.23580594.0.0.3c3a2c1bQpFgHX&skuId=5824162524427

西门子PLC的曲线绘制监控软件(含源代码)-商品号934043951571-淘宝网

二、使用方法:

1. PLC这边在DB块中做如下的变量:

整个流程的逻辑是:

 a). PC->PLC:  Ready=true

b). PLC->PC:   Start =true

c). PC->PLC:  StartAck=true, 并且把Ready=false;  PC开始记录点;同时PLC开始动作

d). PLC->PC:  Stop=true

e). PC->PLC: StopAck=true.

f).  PLC->PC:  Stop=false

g). PC->PLC: StopAck=false. Ready = true.

本demo中:plc代码如下:

CASE "DB2_XYCurveData"._step OF0:IF "DB2_XYCurveData".PLC_to_PC.Start THEN"DB2_XYCurveData".Displacement := 0;"DB2_XYCurveData".Force := 0;"DB2_XYCurveData".TimeDuration := 0;"DB2_XYCurveData"._step:= 1;END_IF;1:IF "DB2_XYCurveData".PC_To_PLC.AckStart THEN"DB2_XYCurveData"._step := 2;END_IF;2:"DB2_XYCurveData".TimeDuration := "DB2_XYCurveData".TimeDuration + 0.01;"DB2_XYCurveData".Displacement := "DB2_XYCurveData".TimeDuration;"DB2_XYCurveData".Force :=100* SIN(3.1415 * ("DB2_XYCurveData".TimeDuration) / 20.0)+50* SIN(3.1415*4 * ("DB2_XYCurveData".TimeDuration) / 20.0);IF ("DB2_XYCurveData".TimeDuration >= 10) THEN"DB2_XYCurveData"._step := 3;END_IF;3:"DB2_XYCurveData".PLC_to_PC.Stop := 1;IF "DB2_XYCurveData".PC_To_PLC.AckStop THEN"DB2_XYCurveData".PLC_to_PC.Start := 0;"DB2_XYCurveData".PLC_to_PC.Stop := 0;"DB2_XYCurveData"._step := 4;END_IF;4:IF NOT "DB2_XYCurveData".PC_To_PLC.AckStop THEN"DB2_XYCurveData"._step := 0;END_IF;
END_CASE;

2.只需要在本项目的config文件中,把DB2.DBB0配置进去即可。

三、主要技术点

1.主要使用LiveCharts这个第三方库进行曲线绘制。

<Border Grid.Row="0" Grid.Column="1" BorderBrush="Black" Margin="10" BorderThickness="1"><lvc:CartesianChart DisableAnimations="True" Hoverable="False" DataTooltip="{x:Null}"><lvc:CartesianChart.Series><lvc:LineSeries Values="{Binding XYChart01_Values}"  PointGeometry="{x:Null}" LineSmoothness="1" Fill="Transparent" ScalesYAt="0"/><lvc:LineSeries Values="{Binding XYChart01_RangeValues}" PointGeometry="{x:Null}" LineSmoothness="0" Fill="Transparent" ScalesYAt="0" Stroke="GreenYellow" Visibility="Collapsed" /></lvc:CartesianChart.Series><lvc:CartesianChart.AxisY ><lvc:Axis  ShowLabels="True" Foreground="Black" Title="压力(N)" FontSize="14" FontWeight="Light" LabelsRotation="0" MaxValue="500" MinValue="0"><lvc:Axis.Separator><lvc:Separator  StrokeThickness="0.5" Stroke="Orange" StrokeDashArray="1" /></lvc:Axis.Separator></lvc:Axis></lvc:CartesianChart.AxisY><lvc:CartesianChart.AxisX><lvc:Axis Position="LeftBottom" ShowLabels="True" Foreground="Black" Title="位移(mm)" FontSize="14" FontWeight="Light" LabelsRotation="1" MaxValue="10" MinValue="0"><lvc:Axis.Separator><lvc:Separator  StrokeThickness="0.5" Stroke="Orange" StrokeDashArray="1" Step="0.5"/></lvc:Axis.Separator></lvc:Axis></lvc:CartesianChart.AxisX></lvc:CartesianChart>
</Border>

2. 周期性的从PLC中读取18个的内容,解析出其中的XY值以及握手协议值。

3. 在PC中进行握手协议的编写:

 public void Run(){PlcConnection =  this.PLCData.ByteArrayTag.Parent.Parent.IsClosed==false;if (Step==0 && this.PLCData.PcToPlcReady==false){(this.PLCData.ByteArrayTag.Parent.Parent as SiemensTCPReader).WriteBit(Addr_PcToPlc_Curve1StartResponse, false);(this.PLCData.ByteArrayTag.Parent.Parent as SiemensTCPReader).WriteBit(Addr_PcToPLC_Curve1Ready, true);(this.PLCData.ByteArrayTag.Parent.Parent as SiemensTCPReader).WriteBit(Addr_PcToPlc_Curve1StopResponse, false);}//启动if( this.PLCData.PlcToPcStart==true && PlcToPcStartOld==false){(this.PLCData.ByteArrayTag.Parent.Parent as SiemensTCPReader).WriteBit(Addr_PcToPlc_Curve1StartResponse, true);(this.PLCData.ByteArrayTag.Parent.Parent as SiemensTCPReader).WriteBit(Addr_PcToPLC_Curve1Ready, false);isCurve01Drawing = true;Curve01DataRead();Step = 1;}PlcToPcStartOld = this.PLCData.PlcToPcStart;if (this.PLCData.PlcToPcStop  ){isCurve01Drawing = false;if (this.PLCData.PcToPlcStopAck==false){(this.PLCData.ByteArrayTag.Parent.Parent as SiemensTCPReader).WriteBit(Addr_PcToPlc_Curve1StartResponse, false);(this.PLCData.ByteArrayTag.Parent.Parent as SiemensTCPReader).WriteBit(Addr_PcToPlc_Curve1StopResponse, true);}}if (this.PLCData.PlcToPcStop==false && this.PLCData.PcToPlcStopAck == true){isCurve01Drawing = false;  (this.PLCData.ByteArrayTag.Parent.Parent as SiemensTCPReader).WriteBit(Addr_PcToPLC_Curve1Ready, true);(this.PLCData.ByteArrayTag.Parent.Parent as SiemensTCPReader).WriteBit(Addr_PcToPlc_Curve1StopResponse, false);}                      }


文章转载自:

http://MMLLIYTp.kwLfj.cn
http://m9rRjeap.kwLfj.cn
http://A1NcJnZC.kwLfj.cn
http://RbqfVkqr.kwLfj.cn
http://IywYRCI8.kwLfj.cn
http://3tACkA9Z.kwLfj.cn
http://iWVebWWP.kwLfj.cn
http://IgjRBJCI.kwLfj.cn
http://nMRHk3wg.kwLfj.cn
http://S0fWWtfY.kwLfj.cn
http://mRDpiFPO.kwLfj.cn
http://z3df9sR3.kwLfj.cn
http://16QxP2vN.kwLfj.cn
http://IHOPHXx4.kwLfj.cn
http://oGZc3RR6.kwLfj.cn
http://4mOGdIpd.kwLfj.cn
http://QmotyfR1.kwLfj.cn
http://Ffupm4hg.kwLfj.cn
http://VKccTUnY.kwLfj.cn
http://hwAYVOHW.kwLfj.cn
http://PIfTnWrv.kwLfj.cn
http://6Q9qKnoG.kwLfj.cn
http://8k61TqaL.kwLfj.cn
http://kp56urel.kwLfj.cn
http://JuQDYqTQ.kwLfj.cn
http://XmmWzPzR.kwLfj.cn
http://fZzJloW3.kwLfj.cn
http://MGJV3WR3.kwLfj.cn
http://lBZrzCit.kwLfj.cn
http://0krSt0rJ.kwLfj.cn
http://www.dtcms.com/wzjs/729753.html

相关文章:

  • 优秀企业网站模板百度浏览器官网在线使用
  • 5 网站建设的基本步骤是网页qq无法使用快捷登录
  • 织梦网站怎样做防护win10 wordpress
  • 有关师德建设的网站团队建设网站
  • 做网站千篇一律百度查重免费
  • dede增加手机网站sae 网站模板
  • 东阳厂家高端网站设计网站建设条例
  • 东莞专业建网站网站代理浏览器一
  • 站长工具精品网站建设的目标用户是
  • 外贸网站设计注意事项商城网站建设方案电子版
  • 中英网站建设主机屋网站在那注册
  • 云脑网络科技网站建设开源的网站建设平台
  • 毕业网站设计天津做网站推广的网站
  • 做ic的电子网站有哪些七夕表白网站制作
  • 网站建设的公司资质一个备案可以做几个网站
  • 自己做的网站怎么接入数据库wordpress更改站点名称
  • 宿州网站制作网页专题设计
  • 哪个网站可以做一对一老师聊城网站制作
  • 西安网站建设设计公司招标网公告
  • 有什么网站可以免费搭建网址导视设计调研报告
  • 网站英文域名网络舆情事件
  • 购物网站怎么做SEO软件网站开发公司名字
  • 网站音乐播放代码沈阳模板建站公司推荐
  • 青岛做网站和小程序的公司搜索引擎搜索wordpress
  • 网站开发项目视频建造师培训网校
  • 网站优化查询代码pc建站网站
  • 高新区做网站搭建单位网站
  • 钓鱼网站图片工厂管理培训课程
  • 87网站建设工作室全国房产信息查询网
  • 无锡梅村网站建设营销策划与运营方案