给大家提供一个siemens FB41 的使用例子 点击:1805 | 回复:13



如火

    
  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-11-30 10:16:00
楼主
    给大家提供一个siemens FB41 的使用例子,直接拷贝到source文件中,编译即可运行,其中的地址可能会和您的实际配置有所差别,如果冲突,需要修改。

DATA_BLOCK DB 41
TITLE =
AUTHOR : SIMATIC
FAMILY : ICONT
VERSION : 0.0
FB 41
BEGIN
COM_RST := FALSE;
MAN_ON := TRUE;
PVPER_ON := FALSE;
P_SEL := TRUE;
I_SEL := TRUE;
INT_HOLD := FALSE;
I_ITL_ON := FALSE;
D_SEL := FALSE;
CYCLE := T#1S;
SP_INT := 0.000000e+000;
PV_IN := 0.000000e+000;
PV_PER := W#16#0;
MAN := 0.000000e+000;
GAIN := 2.000000e+000;
TI := T#20S;
TD := T#10S;
TM_LAG := T#2S;
DEADB_W := 0.000000e+000;
LMN_HLM := 1.000000e+002;
LMN_LLM := 0.000000e+000;
PV_FAC := 1.000000e+000;
PV_OFF := 0.000000e+000;
LMN_FAC := 1.000000e+000;
LMN_OFF := 0.000000e+000;
I_ITLVAL := 0.000000e+000;
DISV := 0.000000e+000;
LMN := 0.000000e+000;
LMN_PER := W#16#0;
QLMN_HLM := FALSE;
QLMN_LLM := FALSE;
LMN_P := 0.000000e+000;
LMN_I := 0.000000e+000;
LMN_D := 0.000000e+000;
PV := 0.000000e+000;
ER := 0.000000e+000;
sInvAlt := 0.000000e+000;
sIanteilAlt := 0.000000e+000;
sRestInt := 0.000000e+000;
sRestDif := 0.000000e+000;
sRueck := 0.000000e+000;
sLmn := 0.000000e+000;
sbArwHLmOn := FALSE;
sbArwLLmOn := FALSE;
sbILimOn := TRUE;
END_DATA_BLOCK
ORGANIZATION_BLOCK OB 35
TITLE = "Cyclic Interrupt"
VERSION : 0.1
VAR_TEMP
OB35_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
OB35_STRT_INF : BYTE ; //16#36 (OB 35 has started)
OB35_PRIORITY : BYTE ; //Priority of OB Execution
OB35_OB_NUMBR : BYTE ; //35 (Organization block 35, OB35)
OB35_RESERVED_1 : BYTE ; //Reserved for system
OB35_RESERVED_2 : BYTE ; //Reserved for system
OB35_PHASE_OFFSET : WORD ; //Phase offset (msec)
OB35_RESERVED_3 : INT ; //Reserved for system
OB35_EXC_FREQ : INT ; //Frequency of execution (msec)
OB35_DATE_TIME : DATE_AND_TIME ; //Date and time OB35 started
END_VAR
BEGIN
NETWORK
TITLE =Wenn switching from Auto->Hand then takeover output on Handvalue
//Flankdetection on Automatik to Manual
A M 10.0; // If hand is choossen then switch the actual output on the hand value
FP M 11.0; // one time !!, so a positive flank
= M 11.1;
JCN cont; // When no flank then to the controller
L MD 48; // Output
T MD 20; // --> Manual value
NETWORK
TITLE =Controller
//Not all the parameters are necessary on the FB, here this is done to test it
//easy in a VAT-table.
//
//The values from the Analog Input and the Analog Output are here 27648 bitvalues
//are&



考虑

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 75回
  • 年度积分:0
  • 历史总积分:124
  • 注册:2001年11月17日
发表于:2005-12-01 20:30:00
1楼
It's very difficult for reading,why not use CFC or LAD?

如火

  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-12-02 09:54:00
2楼
其实是一样的,直接拷贝到source文件中,编译即可运行,也可以用lad打开修改,查看,监视等。

考虑

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 75回
  • 年度积分:0
  • 历史总积分:124
  • 注册:2001年11月17日
发表于:2005-12-02 11:56:00
3楼
用stl写数的处理还是比较方便,调块,读起来不直观

考虑

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 75回
  • 年度积分:0
  • 历史总积分:124
  • 注册:2001年11月17日
发表于:2005-12-02 11:59:00
4楼
看来,你对siemens相当熟悉

king0815

  • 精华:1帖
  • 求助:0帖
  • 帖子:34帖 | 196回
  • 年度积分:0
  • 历史总积分:826
  • 注册:2005年6月23日
发表于:2005-12-08 18:20:00
5楼
不错!值得收藏起来!

ymtq

  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 425回
  • 年度积分:0
  • 历史总积分:874
  • 注册:2005年7月17日
发表于:2005-12-12 15:06:00
6楼
very beautiful,but i can not read understandly this 

吴平

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 53回
  • 年度积分:0
  • 历史总积分:205
  • 注册:2005年12月06日
发表于:2005-12-13 16:42:00
7楼
好啊!

Roboto

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 6回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2004年11月19日
发表于:2006-08-08 11:52:00
8楼
请问具体怎么运行,我编译出来有48个错误?

要飞的菜鸟

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2006年8月08日
发表于:2006-08-08 16:42:00
9楼
你很牛啊

abc35

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 45回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2005年11月04日
发表于:2006-08-08 20:01:00
10楼
请问在HMI中设积分I直接用数值(如20秒),是否就是T#20S,还需要转换吗?

刘正刚

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 216回
  • 年度积分:0
  • 历史总积分:237
  • 注册:2006年11月10日
发表于:2006-11-12 17:23:00
11楼
好。

love2006

  • 精华:5帖
  • 求助:0帖
  • 帖子:209帖 | 1300回
  • 年度积分:23
  • 历史总积分:3382
  • 注册:2006年2月21日
发表于:2006-11-12 18:47:00
12楼
太厉害了

清朝

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 1359回
  • 年度积分:0
  • 历史总积分:2281
  • 注册:2004年10月16日
发表于:2006-11-13 09:20:00
13楼
厉害

热门招聘
相关主题

官方公众号

智造工程师