工艺部要我实现在PLC内执行一个计算公式,并把数值在WINCC画面上显示。

已锁定

渔明鱼工

  • 帖子

    2059
  • 精华

    78
  • 被关注

    444

论坛等级:至圣

注册时间:2009-04-02

白金 白金 如何晋级?

工艺部要我实现在PLC内执行一个计算公式,并把数值在WINCC画面上显示。

4151

30

2020-08-20 15:19:17

star star star


工艺部要我实现在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



工艺部要我实现在PLC内执行一个计算公式,并把数值在WINCC画面上显示。 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54030条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。