BA siemens ppcl 程序 demo

H云系统-空调程序:

00010	ONPWRT(00030)
00030	define("dev","ahu-1f-01-")
00031	LOCAL(P,T,H)
00032	SET(101.325,$P)
00033	$T = "%dev%hfw"
00034	$H = "%dev%hfs"
00035	GOSUB 00770 $P,$T,$H,"%dev%snhz"
00040	$loc1=("%dev%hfw"-"%dev%ffwset")
00050	$loc2=sqrt($loc1*$loc1)
00070	$loc4=0
00071	$loc10=128
00080	$loc5="%dev%hfco2"-"%dev%co2s"
00110	C ------mo shi pan duan------------
00130	if("%dev%mskz".eq.4) then goto 00580
00180	if("%dev%mskz".eq.5) then goto 00620
00190	if("%dev%mskz".eq.1) then goto 00250
00200	if("%dev%mskz".eq.2) then goto 00350
00210	if("%dev%mskz".eq.3) then goto 00470
00240	c ---xia ji mo shi ----------------
00250	wait(20,$loc6,"%dev%c",11)
00253	wait(10,$loc6,"%dev%c",00)
00254	if("%dev%start".eq.on) then on($loc6) else goto 00620
00260	gosub 00690 $loc4,"%dev%hfw","%dev%lv","%dev%ffwset"
00270	if("%dev%swhz".gt."%dev%snhz") then goto 00310
00280	set(0,"%dev%hff")
00290	set(100,"%dev%xff")
00300	goto 00320
00310	gosub 00720 "%dev%xff","%dev%hff"
00320	gosub 00750 $loc4,"%dev%sfw","%dev%bp","%dev%sfwset"
00340	goto 00010
00350	c ----dong ji mo shi ------
00360	if("%dev%fd".eq.off) then goto 0410
00370	off($loc6)
00371	releas("%dev%start","%dev%c")
00372	releas("%dev%xff","%dev%hff")
00373	releas(@oper,"%dev%start","%dev%c")
00374	releas(@oper,"%dev%xff","%dev%hff")
00380	set(100,"%dev%lv","%dev%hff")
00390	set(0,"%dev%xff")
00400	goto 0010
00410	wait(20,$loc6,"%dev%c",11)
00414	wait(10,$loc6,"%dev%c",00)
00415	if("%dev%start".eq.on) then on($loc6) else goto 00620
00420	gosub 00690 $loc10,"%dev%hfw","%dev%lv","%dev%ffwset"
00430	gosub 00742 "%dev%xff","%dev%hff"
00440	gosub 00750 $loc10,"%dev%sfw","%dev%bp","%dev%sfwset"
00460	goto 00010
00470	c -----guo du ji mo shi ------
00472	wait(20,$loc6,"%dev%c",11)
00474	wait(10,$loc6,"%dev%c",00)
00475	if("%dev%start".eq.on) then on($loc6) else goto 00620
00480	set(100,"%dev%xff")
00490	set(0,"%dev%hff","%dev%lv")
00500	gosub 00750 $loc4,"%dev%sfw","%dev%bp","%dev%sfwset"
00510	goto 00010
00580	c ----dan dian kong zhi----------
00590	c ----do nothing------------------
00600	goto 00010
00610	c -----quan xian fu wei----------
00620	off($loc6)
00622	releas("%dev%bp")
00623	releas("%dev%c","%dev%xff","%dev%hff")
00624	releas(@OPER,"%dev%bp")
00625	releas(@OPER,"%dev%c","%dev%xff","%dev%hff")
00626	if("%dev%mskz".eq.2) then set(50,"%dev%lv") else set(0,"%dev%lv")
00630	goto 00010
00640	c -----zi cheng xu --------------
00680	c -----------shui fa kong zhi---------
00690	loop($arg1,$arg2,$arg3,$arg4,2000,50,0,1,50.0,0.0,100.0,0)
00700	RETURN
00710	c -----------xia ji feng fa kong zhi ---------
00720	table($loc5,$arg1,-200,0,0,50,200,100)
00730	$arg2=(100-$arg1)
00740	RETURN
00741	c -----------dong ji feng fa kong zhi --------
00742	table($loc5,$arg1,-200,30,0,50,200,100)
00743	$arg2=(100-$arg1)
00744	RETURN
00745	c ----------bian pin kong zhi ------------------
00750	loop($arg1,$arg2,$arg3,$arg4,200,50,0,1,40.0,30.0,50.0,0)
00760	RETURN
00761	c -----------han zhi cheng xu ----------------
00770	LOCAL(PDS)
00780	$LOC11 = 1.8 * $ARG2
00790	$LOC12 = 32.0 + $LOC11
00800	$LOC11 = $LOC12 / 180.0
00810	$LOC12 = $LOC11 + 0.9202
00820	$LOC11 = LOG($LOC12)
00830	$LOC12 = $LOC11 * 8
00840	$LOC11 = EXP($LOC12)
00850	$PDS = $LOC11 * 0.04204
00860	$LOC11 = $PDS / 100.0
00870	$LOC12 = $LOC11 * $ARG3
00880	$LOC11 = $ARG1 / 6.89
00890	$LOC13 = $LOC11 - $LOC12
00900	$LOC11 = $ARG3 * $PDS
00910	$LOC12 = $LOC11 / 100.0
00920	$LOC11 = 622.0 * $LOC12
00930	$LOC12 = $LOC11 / $LOC13
00940	$LOC11 = 1.84 * $ARG2
00950	$LOC13 = 2500 + $LOC11
00960	$LOC11 = $LOC13 * $LOC12 / 1000.0
00970	$LOC12 = 1.01 * $ARG2
00980	$ARG4 = $LOC12 + $LOC11
00990	RETURN

H云系统-新风机组程序:

备注:改造的场子中新风机组没有变频器,所以新风机组的变频根据CO2自动调节 的功能取消

00010	ONPWRT(00030)
00030	define("dev","pau-4f-01-")
00070	$loc4=0
00071	$loc10=128
00080	c $loc5="%dev%co2"-"%dev%co2s"
00110	C ------mo shi pan duan------------
00130	if("%dev%mskz".eq.4) then goto 00580
00180	if("%dev%mskz".eq.5) then goto 00620
00190	if("%dev%mskz".eq.1) then goto 00250
00200	if("%dev%mskz".eq.2) then goto 00350
00210	if("%dev%mskz".eq.3) then goto 00470
00240	c ---xia ji mo shi ----------------
00250	wait(20,$loc6,"%dev%c",11)
00253	wait(10,$loc6,"%dev%c",00)
00254	if("%dev%start".eq.on) then on($loc6) else goto 00620
00260	gosub 00690 $loc4,"%dev%sfw","%dev%lv","%dev%sfwset"
00270	set(100,"%dev%xff")
00320	c gosub 00750 $loc4,"%dev%co2","%dev%bp","%dev%co2s"
00340	goto 00010
00350	c ----dong ji mo shi ------
00360	if("%dev%fd".eq.off) then goto 0410
00370	off($loc6)
00371	releas("%dev%start","%dev%c")
00372	releas("%dev%xff")
00373	releas(@oper,"%dev%start","%dev%c")
00374	releas(@oper,"%dev%xff")
00380	set(100,"%dev%lv")
00390	set(0,"%dev%xff")
00400	goto 0010
00410	wait(20,$loc6,"%dev%c",11)
00414	wait(10,$loc6,"%dev%c",00)
00415	if("%dev%start".eq.on) then on($loc6) else goto 00620
00420	gosub 00690 $loc10,"%dev%sfw","%dev%lv","%dev%sfwset"
00430	set(100,"%dev%xff")
00440	c gosub 00750 $loc4,"%dev%co2","%dev%bp","%dev%co2s"
00460	goto 00010
00470	c -----guo du ji mo shi ------
00472	wait(20,$loc6,"%dev%c",11)
00474	wait(10,$loc6,"%dev%c",00)
00475	if("%dev%start".eq.on) then on($loc6) else goto 00620
00480	set(100,"%dev%xff")
00490	gosub 00690 $loc4,"%dev%sfw","%dev%lv","%dev%sfwset"
00500	c set(50,"%dev%bp")
00510	goto 00010
00580	c ----dan dian kong zhi----------
00590	c ----do nothing------------------
00600	goto 00010
00610	c -----quan xian fu wei----------
00620	off($loc6)
00623	releas("%dev%c","%dev%xff")
00625	releas(@OPER,"%dev%c","%dev%xff")
00626	if("%dev%mskz".eq.2) then set(50,"%dev%lv") else set(0,"%dev%lv")
00630	goto 00010
00640	c -----zi cheng xu --------------
00680	c -----------shui fa kong zhi---------
00690	loop($arg1,$arg2,$arg3,$arg4,2000,50,0,1,50.0,0.0,100.0,0)
00700	RETURN
00710	c -----------xia ji feng fa kong zhi ---------
00720	table($loc5,$arg1,-200,0,0,50,200,100)
00730	$arg2=(100-$arg1)
00740	RETURN
00741	c -----------dong ji feng fa kong zhi --------
00742	table($loc5,$arg1,-200,30,0,50,200,100)
00743	$arg2=(100-$arg1)
00744	RETURN
00745	c ----------bian pin kong zhi ------------------
00750	loop($arg1,$arg2,$arg3,$arg4,200,50,0,1,40.0,30.0,50.0,0)
00760	RETURN

H云系统-吊柜机组程序:

00010	ONPWRT(00030)
00030	define("dev","dk-1f-01-")
00040	$loc1=("%dev%sfw"-"%dev%sfwset")
00050	$loc4=0
00071	$loc10=128
00110	C ------mo shi pan duan-------
00130	if("%dev%mskz".eq.4) then goto 00580
00180	if("%dev%mskz".eq.5) then goto 00620
00190	if("%dev%mskz".eq.1) then goto 00250
00200	if("%dev%mskz".eq.2) then goto 00410
00210	if("%dev%mskz".eq.3) then goto 00470
00240	c ---xia ji mo shi ----------------
00250	wait(20,$loc6,"%dev%c",11)
00253	wait(10,$loc6,"%dev%c",00)
00254	if("%dev%start".eq.on) then on($loc6) else goto 00620
00260	gosub 00690 $loc4,"%dev%sfw","%dev%v","%dev%sfwset"
00340	goto 00010
00350	c ----dong ji mo shi ------
00410	wait(20,$loc6,"%dev%c",11)
00414	wait(10,$loc6,"%dev%c",00)
00415	if("%dev%start".eq.on) then on($loc6) else goto 00620
00420	gosub 00690 $loc10,"%dev%sfw","%dev%v","%dev%sfwset"
00460	goto 00010
00470	c -----guo du ji mo shi ------
00472	wait(20,$loc6,"%dev%c",11)
00474	wait(10,$loc6,"%dev%c",00)
00475	if("%dev%start".eq.on) then on($loc6) else goto 00620
00500	gosub 00690 $loc4,"%dev%sfw","%dev%v","%dev%sfwset"
00510	goto 00010
00580	c ----dan dian kong zhi----------
00590	c ----do nothing------------------
00600	goto 00010
00610	c -----quan xian fu wei----------
00620	off($loc6)
00622	releas("%dev%c","%dev%v")
00624	releas(@OPER,"%dev%c","%dev%v")
00630	goto 00010
00640	c -----zi cheng xu --------------
00680	c -----------shui fa kong zhi---------
00690	loop($arg1,$arg2,$arg3,$arg4,2000,50,0,1,50.0,0.0,100.0,0)
00700	RETURN

H云系统--室外焓值程序:

00010	LOCAL(P,T,H)
00020	SET(101.325,$P)
00070	$T = "swwd-4f-01-sww"
00080	$H = "swwd-4f-01-sws"
00090	GOSUB 00110 $P,$T,$H,"swhz-01"
00100	GOTO 10
00110	LOCAL(PDS)
00120	$LOC11 = 1.8 * $ARG2
00790	$LOC12 = 32.0 + $LOC11
00800	$LOC11 = $LOC12 / 180.0
00810	$LOC12 = $LOC11 + 0.9202
00820	$LOC11 = LOG($LOC12)
00830	$LOC12 = $LOC11 * 8
00840	$LOC11 = EXP($LOC12)
00850	$PDS = $LOC11 * 0.04204
00860	$LOC11 = $PDS / 100.0
00870	$LOC12 = $LOC11 * $ARG3
00880	$LOC11 = $ARG1 / 6.89
00890	$LOC13 = $LOC11 - $LOC12
00900	$LOC11 = $ARG3 * $PDS
00910	$LOC12 = $LOC11 / 100.0
00920	$LOC11 = 622.0 * $LOC12
00930	$LOC12 = $LOC11 / $LOC13
00940	$LOC11 = 1.84 * $ARG2
00950	$LOC13 = 2500 + $LOC11
00960	$LOC11 = $LOC13 * $LOC12 / 1000.0
00970	$LOC12 = 1.01 * $ARG2
00980	$ARG4 = $LOC12 + $LOC11
00990	RETURN

H云系统--火车头PXC上的焓值程序:

备注:仅仅可以传递全局AI或者AO变量(实点),不能传递虚AO点

00010	LOCAL(P,T,H)
00020	SET(101.325,$P)
00070	$T = "bac_7012_ai_1620"
00080	$H = "bac_7012_ai_1621"
00090	GOSUB 00110 $P,$T,$H,"bln01-swhz"
00100	GOTO 10
00110	LOCAL(PDS)
00120	$LOC11 = 1.8 * $ARG2
00790	$LOC12 = 32.0 + $LOC11
00800	$LOC11 = $LOC12 / 180.0
00810	$LOC12 = $LOC11 + 0.9202
00820	$LOC11 = LOG($LOC12)
00830	$LOC12 = $LOC11 * 8
00840	$LOC11 = EXP($LOC12)
00850	$PDS = $LOC11 * 0.04204
00860	$LOC11 = $PDS / 100.0
00870	$LOC12 = $LOC11 * $ARG3
00880	$LOC11 = $ARG1 / 6.89
00890	$LOC13 = $LOC11 - $LOC12
00900	$LOC11 = $ARG3 * $PDS
00910	$LOC12 = $LOC11 / 100.0
00920	$LOC11 = 622.0 * $LOC12
00930	$LOC12 = $LOC11 / $LOC13
00940	$LOC11 = 1.84 * $ARG2
00950	$LOC13 = 2500 + $LOC11
00960	$LOC11 = $LOC13 * $LOC12 / 1000.0
00970	$LOC12 = 1.01 * $ARG2
00980	$ARG4 = $LOC12 + $LOC11
00990	RETURN

H云系统---火车头上的一键季节转换程序

备注:bln06-dk-msk-qf有三个状态:单点控制、一键控制、权限复位

00010	if("bln06-dk-mskz-qh".eq.1) then goto 00020
00011	if("bln06-dk-mskz-qh".eq.2) then goto 00030
00012	if("bln06-dk-mskz-qh".eq.3) then goto 00570
00020	goto 00010
00030	"dk-1f-01-mskz" = "bln06-dk-mskz"
00040	"dk-1f-02-mskz" = "bln06-dk-mskz"
00050	"dk-1f-03-mskz" = "bln06-dk-mskz"
00060	"dk-1f-04-mskz" = "bln06-dk-mskz"
00070	"dk-1f-05-mskz" = "bln06-dk-mskz"
00080	"dk-1f-06-mskz" = "bln06-dk-mskz"
00090	"dk-1f-07-mskz" = "bln06-dk-mskz"
00100	"dk-1f-08-mskz" = "bln06-dk-mskz"
00110	"dk-1f-09-mskz" = "bln06-dk-mskz"
00120	"dk-1f-10-mskz" = "bln06-dk-mskz"
00130	"dk-1f-11-mskz" = "bln06-dk-mskz"
00140	"dk-1f-12-mskz" = "bln06-dk-mskz"
00150	"dk-1f-13-mskz" = "bln06-dk-mskz"
00160	"dk-1f-14-mskz" = "bln06-dk-mskz"
00170	"dk-1f-15-mskz" = "bln06-dk-mskz"
00180	"dk-1f-16-mskz" = "bln06-dk-mskz"
00190	"dk-1f-17-mskz" = "bln06-dk-mskz"
00200	"dk-1f-18-mskz" = "bln06-dk-mskz"
00210	"dk-1f-19-mskz" = "bln06-dk-mskz"
00220	"dk-1f-20-mskz" = "bln06-dk-mskz"
00230	"dk-1f-21-mskz" = "bln06-dk-mskz"
00240	"dk-1f-22-mskz" = "bln06-dk-mskz"
00250	"dk-1f-23-mskz" = "bln06-dk-mskz"
00260	"dk-1f-24-mskz" = "bln06-dk-mskz"
00270	"dk-1f-25-mskz" = "bln06-dk-mskz"
00280	"dk-1f-26-mskz" = "bln06-dk-mskz"
00290	"dk-1f-27-mskz" = "bln06-dk-mskz"
00300	"dk-1f-28-mskz" = "bln06-dk-mskz"
00310	"dk-1f-29-mskz" = "bln06-dk-mskz"
00320	"dk-1f-30-mskz" = "bln06-dk-mskz"
00330	"dk-1f-31-mskz" = "bln06-dk-mskz"
00340	"dk-1f-32-mskz" = "bln06-dk-mskz"
00350	"dk-1f-33-mskz" = "bln06-dk-mskz"
00360	"dk-1f-34-mskz" = "bln06-dk-mskz"
00370	"dk-1f-35-mskz" = "bln06-dk-mskz"
00380	"dk-1f-36-mskz" = "bln06-dk-mskz"
00390	"dk-1f-37-mskz" = "bln06-dk-mskz"
00400	"dk-1f-38-mskz" = "bln06-dk-mskz"
00410	"dk-1f-39-mskz" = "bln06-dk-mskz"
00420	"dk-1f-40-mskz" = "bln06-dk-mskz"
00430	"dk-1f-41-mskz" = "bln06-dk-mskz"
00440	"dk-1f-42-mskz" = "bln06-dk-mskz"
00450	"dk-1f-43-mskz" = "bln06-dk-mskz"
00460	"dk-1f-44-mskz" = "bln06-dk-mskz"
00470	"dk-1f-45-mskz" = "bln06-dk-mskz"
00480	"dk-1f-46-mskz" = "bln06-dk-mskz"
00490	"dk-1f-47-mskz" = "bln06-dk-mskz"
00500	"dk-1f-48-mskz" = "bln06-dk-mskz"
00510	"dk-1f-49-mskz" = "bln06-dk-mskz"
00520	"dk-1f-50-mskz" = "bln06-dk-mskz"
00530	"dk-1f-51-mskz" = "bln06-dk-mskz"
00540	"dk-1f-52-mskz" = "bln06-dk-mskz"
00550	"dk-1f-53-mskz" = "bln06-dk-mskz"
00560	goto 00010
00570	releas("dk-1f-01-mskz","dk-1f-02-mskz","dk-1f-03-mskz")
00580	releas("dk-1f-04-mskz","dk-1f-05-mskz","dk-1f-06-mskz")
00590	releas("dk-1f-07-mskz","dk-1f-08-mskz","dk-1f-09-mskz")
00600	releas("dk-1f-10-mskz","dk-1f-11-mskz","dk-1f-12-mskz")
00610	releas("dk-1f-13-mskz","dk-1f-14-mskz","dk-1f-15-mskz")
00620	releas("dk-1f-16-mskz","dk-1f-17-mskz","dk-1f-18-mskz")
00630	releas("dk-1f-19-mskz","dk-1f-20-mskz","dk-1f-21-mskz")
00640	releas("dk-1f-22-mskz","dk-1f-23-mskz","dk-1f-24-mskz")
00650	releas("dk-1f-25-mskz","dk-1f-26-mskz","dk-1f-27-mskz")
00660	releas("dk-1f-28-mskz","dk-1f-29-mskz","dk-1f-30-mskz")
00670	releas("dk-1f-31-mskz","dk-1f-32-mskz","dk-1f-33-mskz")
00680	releas("dk-1f-34-mskz","dk-1f-35-mskz","dk-1f-36-mskz")
00690	releas("dk-1f-37-mskz","dk-1f-38-mskz","dk-1f-39-mskz")
00700	releas("dk-1f-40-mskz","dk-1f-41-mskz","dk-1f-42-mskz")
00710	releas("dk-1f-43-mskz","dk-1f-44-mskz","dk-1f-45-mskz")
00720	releas("dk-1f-46-mskz","dk-1f-47-mskz","dk-1f-48-mskz")
00730	releas("dk-1f-49-mskz","dk-1f-50-mskz","dk-1f-51-mskz")
00740	releas("dk-1f-52-mskz","dk-1f-53-mskz")
00750	releas(@oper,"dk-1f-01-mskz","dk-1f-02-mskz","dk-1f-03-mskz")
00760	releas(@oper,"dk-1f-04-mskz","dk-1f-05-mskz","dk-1f-06-mskz")
00770	releas(@oper,"dk-1f-07-mskz","dk-1f-08-mskz","dk-1f-09-mskz")
00780	releas(@oper,"dk-1f-10-mskz","dk-1f-11-mskz","dk-1f-12-mskz")
00790	releas(@oper,"dk-1f-13-mskz","dk-1f-14-mskz","dk-1f-15-mskz")
00800	releas(@oper,"dk-1f-16-mskz","dk-1f-17-mskz","dk-1f-18-mskz")
00810	releas(@oper,"dk-1f-19-mskz","dk-1f-20-mskz","dk-1f-21-mskz")
00820	releas(@oper,"dk-1f-22-mskz","dk-1f-23-mskz","dk-1f-24-mskz")
00830	releas(@oper,"dk-1f-25-mskz","dk-1f-26-mskz","dk-1f-27-mskz")
00840	releas(@oper,"dk-1f-28-mskz","dk-1f-29-mskz","dk-1f-30-mskz")
00850	releas(@oper,"dk-1f-31-mskz","dk-1f-32-mskz","dk-1f-33-mskz")
00860	releas(@oper,"dk-1f-34-mskz","dk-1f-35-mskz","dk-1f-36-mskz")
00870	releas(@oper,"dk-1f-37-mskz","dk-1f-38-mskz","dk-1f-39-mskz")
00880	releas(@oper,"dk-1f-40-mskz","dk-1f-41-mskz","dk-1f-42-mskz")
00890	releas(@oper,"dk-1f-43-mskz","dk-1f-44-mskz","dk-1f-45-mskz")
00900	releas(@oper,"dk-1f-46-mskz","dk-1f-47-mskz","dk-1f-48-mskz")
00910	releas(@oper,"dk-1f-49-mskz","dk-1f-50-mskz","dk-1f-51-mskz")
00940	releas(@oper,"dk-1f-52-mskz","dk-1f-53-mskz")

H云系统需要建立的虚点列表:

空调机组虚点点表
Ahu-1f-01-mskz	控制控制	Lenum
Ahu-1f-01-start	程序启动	Do
Ahu-1f-01-ffwset	回风温度设定	AO(虚点)
Ahu-1f-01-snhz	室内焓值	AO(虚点)
Ahu-1f-01-co2s	Co2设定值	AO(虚点)
Ahu-1f-01-swhz	室外焓值	AO(虚点)
Ahu-1f-01-sfwset	送风温度设定值	AO(虚点)
新风机组虚点点表
Pau-bxj-01-maks	模式控制	Lenum
Pau-bxj-01-start	程序启动	Do
Pau-bxj-01-sfwset	送风温度设定	AO(虚点)
Pau-bxj-01-co2s	Co2设定值	AO(虚点)
Pau-bxj-01-co2	Co2反馈值	AO(虚点)
吊柜机组虚点点表
Dk-1f-01-mskz	模式控制	Lenum
Dk-1f-01-start	程序启动	Do
Dk-1f-01-sfwset	送分温度设定	Ao(虚点)
CO联动送排风机设置的虚点
Co-b1-06-kz	co风机控制切换	Lenum
Co-b1-06-sd	co设定值	AO
各条总线上的焓值点
Bln01-swhz	总线焓值	Ao(虚点)
一键模式切换和一键温度设定点
Bln01-kt-mskz-qh	空调模式切换	Lenum
Bln01-kt-wdset-qh	温度设定切换	Lenum
Bln01-kt-mskz	总线模式控制	Lenum
Bln01-kt-wdset	总线温度设定	ao
关于PPCL的小知识点:
  1. WAIT函数不能放在子程序中,放在程序中程序就不能正常的执行了
  2. 使用simple函数和totilze函数可以实现当日运行时间累计的功能

作者:spike

分类: 建筑智能

创作时间:2023-06-25

更新时间:2024-12-09

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1