作者 | 主题 |
---|---|
渔明鱼工 至圣 经验值:23881 发帖数:2059 精华帖:78 |
楼主 2020-08-20 15:19:17
主题:工艺部要我实现在PLC内执行一个计算公式,并把数值在WINCC画面上显示。 工艺部要我实现在PLC内执行一个计算公式,并把数值在WINCC画面上显示。 技术要求: 我看了一下直接回复请他们申请外部供应商来做,这个公式用LAD很难实现,要用SCL来编我不会做这么复杂的。 没办法他们只能请外部服务了。 事情过后,我开始用SCL编程来测试,结果完全可以实现的,我只能闷在心里不说,但我要发到贴子上分享。 FUNCTION FC28 : VOID VAR_TEMP x2_tan:REAL; x2_cos:REAL; y2_tan:REAL; y2_cos:REAL; AA:REAL; BB:REAL; CC:REAL; sin_a:REAL; cos_a:REAL; a_into:REAL; kk1:REAL; kk2:REAL; kk3:REAL; mm1:REAL; mm2:REAL; mm3:REAL; END_VAR // Statement Section
// Block Parameters VAR_INPUT Mandrel_R:REAL; Mandrel_Z0:REAL; Mandrel_Z1:REAL; Mandrel_a:REAL;// Input Parameters END_VAR
VAR_OUTPUT Mandrel_E:REAL; // Output Parameters Mandrel_x2:REAL; Mandrel_y2:REAL; END_VAR BEGIN a_into:=Mandrel_a*3.1415926/180; sin_a:=SIN(a_into); cos_a:=COS(a_into); mm1:=(Mandrel_R+Mandrel_Z1)*cos_a-(Mandrel_R+Mandrel_Z0); mm2:=(Mandrel_R+Mandrel_Z1)*sin_a; mm3:=mm1/mm2; x2_tan:=ATAN(mm3); kk1:=(Mandrel_R+Mandrel_Z0)*(Mandrel_R+Mandrel_Z0); kk2:=(Mandrel_R+Mandrel_Z1)*(Mandrel_R+Mandrel_Z1); kk3:=2*(Mandrel_R+Mandrel_Z0)*(Mandrel_R+Mandrel_Z1)*cos_a; AA:=kk1+kk2-kk3; BB:=SQRT(AA); CC:=BB/(2*Mandrel_R); x2_cos:=ACOS(CC); Mandrel_x2:=Mandrel_R*COS(x2_tan-x2_cos); Mandrel_y2:=Mandrel_R+Mandrel_Z0+Mandrel_R*SIN(x2_tan-x2_cos); Mandrel_E:=SQRT(Mandrel_x2*Mandrel_x2+Mandrel_y2*Mandrel_y2); END_FUNCTION
网鱼能够改善伙食,还能释放工作中的压力。
|