版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SCX语 概 功能特 标题 菜单 ...................................................................................................................................状态 菜单命 选项菜 功能图 编程规 SCX语言特 代码说 程序结 数据类 常数表 系统变 位号表 运算 折线 位 库函 注 关键 编程实 浮点实 联锁保 库函 SCXSCX语言(SCLang.exe)SUPCONWebField系列控制系统控制站的统使得SCX程序的调试、编译得心应手。SCX语言编程环境:SCXWindowsNT/2000操作系统下语法错误。SCXSUPCONWebField控制系统的其它软件紧密集成,可以和组功能强大:除了提供C语言的基本元素,如表达式、选择语句、循环语句、数组、结稳定性高:SCX语言软件及其内置的XAC编译器所进行的双重词法和语法检查保证了SCXSCX语言程序,并且监视用户编制的程序易于使用:软件提供了灵活易用的集成化开发环境——符合Windows环境编辑器设计准则的程序编辑环境、功能完善的系统、程序编译中的诊错定位功能、语法等。这些都给SCX程序的编辑、编译和调试提供了极大的方便。易于:软件提供了中间C语言代码查看功能,可以看到SCX语言程序对应的C语言表达,可以有效排除程序中可能存在的“Bug”。“.OBJ”,3、组态软件把生成的目标代码与系统中其他组态信息一同封装,供软件调用,软件4、到各控制站的程序由控制站主控制卡的调度程序负责调度运行,从而实现所设计的控SCLang.exe最多支持三层,每层名建议不要超过8 kernelSCLang.exe在同一层下;在程序编译过程中如果编译进度条出现长时间没有响应或给出“内核程序调用失败”的信SCXSCXSCX语言软SCX语言软件开发环境包括七大块:灵活的程序编辑环境、完善的文件处理功能、准确的错误定位诊断处理、可靠的中间代码检查、强大的编译功能、灵活便捷的系统、友好的语法着1、SCX语言软件是软件包AdvanTrol-Pro的组成部分,随软件包一同安装(安装步骤请参考相2、 须从组态软件中启动。同时,SCX语言软件编译生成的目标代码也必须由组态软件调用并生成可下装的目标代码;单独启动SCX语言软件,将不能正常运行。1、 出现自定义控制算法设置框,如图2-1所示。 图2-1SCX语言组态2-2SCX2、“.CSCX语言软件从文件菜单打开并查看生成的代码,如图2-3所示。目标代码查看命令查看,如图2-4所示。2-33、
2-4通过软件的功能,可以测试自定义控制算法的正确性和有效性位置指示及编译进度栏,如图2-5所示:2-5SCX状态栏的左边区域描述了用鼠标掠过菜单时菜单项目的提示信息。同样地,在用鼠标按下工SCX语言文档时光标位置指示,并指明下述哪2-1 1——将SCX语言文档中已选定的数据到剪贴板上。2、完善的文件功能3、函数或关键字,然后将光标移动到该位置,按F1键即可获得联机帮助信息。4、 择所有内容并拷贝到任何可用的编辑器中并保存,当然也可以利用SCX软件的编辑环境。SCXSCX语言程序正确,接着将生成由控制站“.OBJ)件由组态软件下装到控制站运行,从而实现了指定的自定义控制算法。通过软件的运行,可以3-1建立一个新的SCX 以 1从组态软件启动SCX语言编辑环境建立新文件。2息,请从组态软件启动SCX语言编辑环境打开文件。图3-1打开3题的文档之前,SCX语言软件会显示保存为框,建议命名和保存文档。也可以单击文档窗口上4图3-2另存为除了保存按钮外,该框的各部件的用途与打开框的相似。选择好文件名后、或在文件名框内键入文件名后,单击保存按钮就以所选文件名保存该文件,如果该文件已存在,SCX语言软图3-3页面设置7图3-4打印在打印框中,可以指明要打印的页码起止范围、份数、名称,以及其它设置选项。设置好各项参数后,单击确定按钮将文件送到指定的,或单击取消按钮取消本次打印操作。应该注意的是,如果单击上的打印按钮,则不显示上述框,而将该文件按打
图3-5打印设置选中退出命令或单击应用程序控制菜单上的关闭按钮退出SCX语言环境。在退出SCX语言环境之前,SCX语言软件会提示保存尚未保存过的文档。3-63-2命123、命45光标将移动到查找到的位置。用CTRL+F快捷键可重复查找,直至查找结束。6…7…3-3命 若当前文档符合查看要求,则SCX语言软件将弹出一框显示相应的内容。若当前文档符合查看要求,则SCX语言软件将创建一新子窗口显示相应的内容。33-43-43-51、命343-6 123-7 教您如何使用SCX关于 4得到关于如何使用帮助令5 SCX语言编程实现的控制算法编译后生成目标文件和其它组态信息联编后下装到控制站4-1SCXCC位global main( }
}2:每行“//”后,或“/**/4:为子函数的返回值类型定义。每个子函数只有一个返回值。4-22-7.9997~10~4 E-38~ Long4 2-32768struct8触点闭表示ON,数组:类型变量[下标范围];在SCX语言中,有2种扩展数据类型01234567890123456789符号 整数 小数4-1即:小于0.024%的数被看作0。时间型:SUPCONWebField0.10.1出的时间单位分别为分、秒外,Timerms[n]的时间单位为0.1秒。inttemp_1,temp_2;floattemp_3,temp_4;sfloattemp_5,temp_6;temp_1=3;temp_3=temp_4temp_3*2;//0.234,2temp_5=temp_6temp_5*2.0f;//2.5f2f表示半浮点数开关型常数为ON、OFF:4-3 第n号可随 第n号可随 第n号可随 的100毫秒定时第n号可随 第n号可随 位号也可以当做数组来使用,如_TAG("PI-101a")[1]表示位号PI-101a的下一个位号。用户可以自己参考组态中的定义直接在SCX语言源程序中合适的位置位号,也可以通过工具条上“TAG”命,”,{,}。()提供支持若干关键字,如:main,if,else等。提供区分位号的码制/百分数制(1码=1/4095百分数)及其相互转换的函数。_TAG("abc"),_TAG("abc"),_TAG("loop1").SV,_TAG("loop")[i],_TAG("loop")[i].SV ")和_TAG("*****")表示同一位号 续以英文字母、数字或下划线_ 4-4 +-+加-减*乘/除<>.(=SCX语言语 (该运算符只能单独一行.() 成员的)。exp为运算表达式,=表示定义。exp=exp=opt1exp=oprnopt2oprn;exp=opt1exp;exp=expopt2#define#define #define 的宏,然后再进行编译。变量12…n;数据类型变量名[数组长度];//数组块中,在程序各函数中都有效;而局部变量是定义在某个具体函数中,只在该函数中有=运算表达式;temp_A=(temp_B+C)*D/ { }elseif{ }elseif{ }]{ }] 语句序列5;如为零,转步骤2;elseif部分(elseif分支)elseif2,如果值非零,执行判断执行此分支,否则转步骤3;else4if-else5。if(A>{x=if{}{}}elseif(B>{x=}{x=}for语句 { } <终值(0)>终值(0),则执行语句序列1;否则,程序转入for块后的语句,开始执行语句序列2;转步骤3。intI;for(I=0;I<23;{Stat[I]=}while语句while(条件表达式{ } 句序列2。intD;Dwhile(D>={D=D–}[返回类型函数或子程序名([参数列表{}1,...,数据类型参数能,可以在等式的右边(不能作为运算表达式的一个操作数据项)。void{C=Max(A,B)}{}intMax(intA,int{If(A>{}{return}} {}其中,X常数序列必须递增。 {}在程序中,还可以调用函数getfx、setfx、getfxy_x、setfxy_x、getfxy_y和setfxy_y或改变SCX语言提供两种控制模块:单回路控制模块和串级回路控制模块。位号数据和控制模块有许表示取它的缺省成员。位号和控制模块的成员详见表4-5、表4-7和表4-8。4-5 使能开关(ON自动/OFF手工输入手/自动(OFF关/ON开滤波常数(0.1秒为单位的整型小信号切除(14位上上限(14位上限(14位下限(14位下下限(14位死区(14位模出量、开入量和开出量位号只有一个成员PV。不用操作符“.”时,表示取该位号的缺省成PV,如,_TAG("pv-101a")=_TAG("pv-101a").PV。表4-6模入位号数据成员Flag(位号质量码)12568/超量程若测量点与变送器之间的线路短路或断路,导致信号超量程,这又可称为开路。如输入为例如,如果你需要判断某个模入信号是否处于上上限,首先将这个模入信号的成员Flag与(60;5比较判断是否相等。如果相等,则表明此信号处于 {{ //ON:FI-OLD处于上上限(以下同){}{}{}{}{
}{}{}
(,)== }{}}
PID控制模块(BSC)4-2 值1BSC
4-2BSC4-7BSC R偏差0.10.1/根据数据成员中的不同给定值(4-7),运行RUN函数可以实现效果不同的单回路控制。运行控制模块函数:sfloatbsc(sfloatpv,intn);2sfloata=bsc(pv,0)PID控制模块(CSC)4-3PID控制1CSC4-8CSC成 R0.10.1关R/0.10.1/*输出开 关PIDCSC时,先运行手/自动操作,然后运行输出限幅,最后运函数可以实现效果不同的串接控制。SUPCONWebField64CSC模块,同一序号的CSC模块只能使用一次。运行控制模块函数:sfloatcsc(sfloatpvEx,sfloatpvIn,intn); 2sfloata=csc(pvEx,pvIn,0)—+ ++内给定 —+++输入测量值输出阀位++ 输出阀位4-3CSC4-9SCX取二维折线表X轴的数写二维折线表X轴的数取二维折线表Y轴的数写二维折线表Y低模pSCX程序中,可以用“//”或“/* */”表示注释。每行“//”后或“/*”与“*/”间的文 /*ABC // continuegoto g_msg[]timers[]timerm[] else,void,while,main行不能有分号;break,return,continue行必须跟分号;SCX语言编程实现的控制算法程序编译后生成的目标文件和其它组态信息联编后∥x=∥y=5x3+log32x2–3.025x+{floata[4],a[0]=a[1]=pow(3.0,a[2]=a[3]=y=eval_poly(0.75,a,}#F_X{} {0f0.05f0.1f0.15f0.2f0.25f0.3f0.35f0.4f0.45f //X0f0.05f0.1f0.15f0.2f0.25f0.3f0.35f0.4f0.45f //Y} {sfloatx1, boolHAlart //定义变量Halert,Lalertx1fxy(_TAG("TI001" x1vlm(x1,0.1,0.1, //x1x2ded(x120,50, } { sfloat sfloat =//对偏差dgap2errdgap2out{dgap2mv }{dgap2mv }dgap2mvded(dgap2mv,5,10, , ={}else{}{")= }{")= },}90%以PID参数PID参数值,并且使该参数能够在实时软件中整定。 { if(_TAG("TA-STATE")==0) {g_bsc }elseif(_TAG("TA- {g_bscg_bsc}elseif(_TAG("TA-{g_bscg_bsc}elseif(_TAG("TA-{g_bscif{g_bsc[0].SV=g_bsc0].SV+0.0018f; if(g_bsc {} }elseif(_TAG("TA- {if {g_bsc 0g_bsc } {} } {g_bsc }if{g_bsc[0].SV=_TAG("TI201A")-0.01f;g_bsc[0].TI=2000;}if(Flag==OFF) {g_bsc[0].TI=_TAG("T201BWI");} {g_bsc[0].TI=_TAG("T201TWI");g_bsc}} { { } {{ }{ }} { } { } { }}网关卡是通口单元的,是SCnetⅡ网络节点之一。在SCnetⅡ中网关卡处于与主控卡实现数据在SUPCONWebField系列控制系统中的共享。言提供了使用方便的串行通信库函数,Modbus协议库函数,HostLink协议库函数。 (二进制 (二进制 硬件配置:1块网关卡 硬件配置:1块网关卡5-1intphase;//加上相位,使SCX语言程序在一个周期内只执行一条readholdingreginterror;//语句,出错后还要停两个周期不做收发,一般一个周期内只能连 {intinta[26];longaa[13];floatf;longif((phase<0)OR(phase>{phase=}if(phase==0ANDerror=={_TAG("return0")=readholdingreg(201,4304,26,a);//读液位,if(_TAG("return002个寄存器存放一个液位,34304为 for(i=0;i<13;i={l=m=n=setint(l,a[2*i+1],0);aa[i]=m+n;l=aa[i];f=lev[iftosf(f);//sfloat}}{}}
error=if(phase==1ANDerror=={if(_TAG("return3")==0)//一个寄存器存放一个温度{for(i=0;i<13;i={f=f*0.1;ff*0.002860.143;//温度量程(-lev[i]=}}{}}
error=if(phase==2ANDerror=={if(_TAG("return2")==0){for(i=0;i<13;i={f=f*0.1;f=f*0.00286+lev[i]=}}{}}
error=if(phase==3ANDerror=={if(_TAG("return1")==0){for(i=0;i<13;i={f=f=f*f=f*0.00286+lev[i]=}}{}}
error=if(phase==4ANDerror=={_TAG("return4")=readholdingreg(201,5200,13,a);//读温度,if(_TAG("return4")==0) {for(i=0;i<13;i={f=f*0.1;f=f*0.00286+lev[i]=}}{}}
error=phase=phase+1;if(error<0ORerror>2){error=}if(error>{error=error-}}OMRONPLCSUPCONWebFieldDM区,具体存放规定5-1DM mASOESOE8位为SOE5-2//intDObuf[5];inthh[30];intsend[3];voidPLCTONGXUN()//PLC通信程序{intintj;intintTemp;sfloatshuju;send[0]=send[1]=_TAG("ComCount")=_TAG("ComCount")+if(_TAG("ComCount")>10){ =}//**************************************************模拟量前30
//{Tempreaddata(0,2000,30,AIbuf);{Temp=} Err")=}if =={
if ")=={for(i=0;i<30;i=i+1{}}}
if((_TAG("ComCount")==3)OR_TAG("ComCount4))//{Tempreaddata(0,2030,26,hh);{Temp=} Err")= Err")= }if =={if( ")=={fori0i26ii1共有25个数据,前20{{}
{k=i-Templong=setint(0,hh[i],0);for(j=0;j<16;j=j+1){}}}}for(i=0;i<8;i=i+{shuju=if((shuju>=0.95f)AND(shuju<={}}for(i=0;i<8;i=i+{shuju=if((shuju>=0.95f)AND(shuju<={}}shuju=if((shuju>=0.95f)AND(shuju<={}}//if((_TAG("ComCount")==3)OR(_TAG("ComCount")==4)// Temp= if(Temp==- Temp= ////if ==// if Err")== for(i=0;i<5;i=i Templong= for(j=0;j<16;j=j ////////if((_TAG("ComCount")==6)OR(_TAG("ComCount")==7)// Temp= if(Temp==- Temp= ////if ==// Err")== for(i=0;i<1;i=i+ Templong= for(j=0;j<16;j=j //if ==6OR =={Temp=fori0i20ii1 {}if(Temp==-{Temp=}}if ==8OR =={Temp=fori0i11ii1 {}if(Temp==-{Temp=} }")=if(_TAG("ComCount")==10{ if { SOEreset[0]= }{}
for(i=0;i<20;i=i+1)//处{
templong3=andlong(templong1,15);//秒的个位templong5andlong(templong1,240)16;//秒的十位_TAG("SOE1_M")[i]=ltoi(templong5)*10+//_TAG("SOE1_M")[iltoi(templong3SOE时间的秒templong3=andlong(templong1,3840)/256;//分的个位templong5andlong(templong1,61440)4096;//分的十位_TAG("SOE1_F")[i]=ltoi(templong5)*10+templong2itol(_TAG("SOE")[i*21]);templong4=andlong(templong2,960)/64;//十毫秒的个位templong6=andlong(templong2,15360)/1024;//十毫秒的十位templong8andlong(templong2,4915216384;十毫秒的百位*100+ltoi(templong4)*templong4=andlong(templong2,15);templong6=andlong(templong2,48)/16;_TAG("SOE1_W")[i]=ltoi(templong6)*10+
= }
} {for(i=0;i<40;i=i+{}}}{{{}{
}{}
}{{}}{
{}
}{{}{
}{}
}{{}{
}{}
}{}{
}{}
}{{}{
}{}
}}{} 式,SUPCONWebField系列控制系统为主,PLC为从;通信速率:9,600bps,8位数据位,无校读命令:AA BB(4字节)=4个INT型字符 BB(7个字节第PLC响应为: DD(12字节bit7bit6起停状态,1起动;0停止bit5备妥状态,1已备妥;0未备妥bit4就地中控状态,1中控;0bit3荷载上限状态,1;0正常bit2荷载下限状态,1;0正常bit1速度上限状态,1;0正常bit0速度下限状态,1;0正常硬件配置:1块网关卡,1ADAM5-3boolFAN[12];boolaa[8];inti;intphase;interror;boolmid01;intsend1[4];intintbuf[12];intbuf1[12];intbuf2[12];intbuf3[12];longnum1[4];longlongy,pdo,pdo1;longmod[3],state2;floatbb,cc,dd,ee,ff;intsfloatLSTVI1,LSTVI2,LSTVI3,LSTVI4;{{_TAG("DSM-1")}{}if((phase<0)OR(phase>7)){phase=}_TAG("add")=_TAG("add")+1;//指示自定义运行状态 if(phase==0ANDerror==0{ send1[0]=170;send1[1]=send1[2]=send1[3]=_TAG("return0")= _TAG("aaa")if(_TAG("return0")==0{if(buf[0]==204AND{if(buf[1]=={
b=buf[2];for{}{}}}{}}
_TAG("return0")=_TAG("STA-0141")=_TAG("STA-0131")=_TAG("STA-0121")=_TAG("STA-0111")=_TAG("P-01AM1")=_TAG("P-01RD1")=_TAG("P-01RN1")=if{}{}}
error=if(phase==1ANDerror==0{ {数{}{}{}{} _TAG("return0")=read(7,12,send2,buf); {}{}
if(buf[0]!=204AND{}}}if(phase==2ANDerror==0{ send1[0]=send1[1]=send1[2]=send1[3]=_TAG("return0")=read(4,12,send1,buf); if(_TAG("return0")==0){if(buf[0]==204AND{if(buf[1]=={
b=buf[2];for{}{}}}{}}
_TAG("return0")=_TAG("STA-0341")=_TAG("STA-0331")=_TAG("STA-0321")=_TAG("STA-0311")=_TAG("P-03AM1")=_TAG("P-03RD1")=_TAG("P-03RN1")=if{}{}}
error=if(phase==3ANDerror==0)//(PDO2!=LSTPDO2OR{ {{}{}{}{} _TAG("return0")=read(7,12,send2,buf); {}{}
if(buf[0]!=204AND{}} }if(phase==4ANDerror==0{ send1[0]=send1[1]=send1[2]=send1[3]=_TAG("return0")=read(4,12,send1,buf); if(_TAG("return0")==0){if(buf[0]==204AND{if(buf[1]=={
b=buf[2];for{}{}}}{}}
_TAG("return0")=_TAG("STA-0241")=_TAG("STA-0231")=_TAG("STA-0221")=_TAG("STA-0211")=_TAG("P-02AM1")=_TAG("P-02RD1")=_TAG("P-02RN1")=if{}{}}
error=if(phase==5ANDerror==0{ {{}{}{}{} _TAG("return0")=read(7,12,send2,buf); {}{}
if(buf[0]!=204AND{}}}if(phase==6ANDerror==0{ send1[0]=send1[1]=send1[2]=send1[3]=_TAG("return0")=read(4,12,send1,buf); if(_TAG("return0")==0){if(buf[0]==204AND{if(buf[1]=={
b=buf[2];for{}{}}}{}}
_TAG("return0")=_TAG("STA-0441")=_TAG("STA-0431")=_TAG("STA-0421")=_TAG("STA-0411")=_TAG("P-04AM1")=_TAG("P-04RD1")=_TAG("P-04RN1")=if{}{}}
error=if(phase==7ANDerror==0{ {{}{}{}{}_TAG("return0")=read(7,12,send2,buf); {}{}
if(buf[0]!=204AND{}}}phase=phase+1;if(error<0ORerror>2){error=}if(error{error=error-}} 硬件配置:1块网关卡,1ADAM模块互联方案:采用RS485接口方式5-4intSendBuf[20];//发送缓冲区intReceBuf[100];int_dtoa(intData);//1~16变为'0'~'9'voiddtoa(intData,intPos);//数字ASCII化,放到SendBuf中Pos位置int_atod(intData);//'0'~'9''A'~'F'变为1~16longatod(intPos);//4intCheckSum(intLength);//计算校验和,源串在SendBuf中,数据长度LengthintMod(inta,intb);//取模intMod(inta,intb{inttemp;returntemp;}voiddtoa(intData,intinttemp;}inti;{}returnsum;}int_dtoa(intData)//1~16变为'0'~'9'{inttemp;{returntemp;}returntemp;}int_atod(intData)//'0'~'9'A'~'F{intr;{return}returnr;}longatod(intPos)//4{longtemp2;intintl,inth;return}{intr;longtemp3;dtoa(CheckSum(15),15);{}}///KoyoPLC{intr;longData;intSendBuf[2];//发送intInitFlag;{}{
}{}{}
{}{}
{}{}
} 背景:此项目的网关卡是完成SUPCONWebField控制系统与衡器总厂的XK3190-A1+称重通信速率:9600,8位数据位,无校验。(9600,; 5-5{intsend[6];intbuf[12];inta[12];inti,l;boolb[4];floatf; setdelaytime(300);//等待时间300毫秒 { } {}{}}
1、 2、 3、高模低模45p 6函数 返回 7 1sfadd(半浮点数加法)y=x1、x2的数据类型为半浮点数。yx1、x2的和值,数据类型为半浮点数。返回值范围:-7.9997y≤7.9997。当两x1+x2>7.99977.9997。sfloata=sfadd(7.0f,2.0f);//a=b=sfadd(0.35f,0.25f);//b=c=sfadd(-0.3f,0.9f);//c= 2sfsub(半浮点数减法)y=a=sfsub(0.9f,0.8f);//a=b=sfsub(0.9f,-0.8f);//b=c=sfsub(7.0f,-6.0f);//c= y=yx1、x2的积值,数据类型为半浮点数。返回值范围:-7.9997y≤7.9997。当两x1×x2>7.99977.9997。sfloata=sfmul(0.6f,0.5f);//a=b=sfmul(2.0f,5.0f);//b=c=sfmul(2.0f,-3.0f);//c=- 4sfdiv(半浮点数除法)y=yx1/x2的商值,数据类型为半浮点数。返回值范围:-7.9997y≤7.9997。当两数x1/x2>7.99977.9997。a=sfdiv(0.5f,0.1f);//a=b=sfdiv(3.0f,0.1f);//b=c=sfdiv(-3.0f,5.0f);//c=- 5sfabs(半浮点数求绝对值)y=yx的绝对值,数据类型为半浮点数。sfloata=sfabs(0.9f);//a=b=sfabs(-0.9f);//b= 6sfsqr(半浮点数平方)y=yx的平方值,数据类型为半浮点数。返回值范围:-7.9997y≤7.9997。当平方值x2>7.99977.9997。sfloata=sfsqr(4.0f);//a=b=sfsqr(-0.8f);//b= y=sfloata=sfsqrt(0.81f);//a=b=sfsqrt(0.009f);//b= 1sin(正弦函数)y=xy,需要先转换为弧度值,然后再使用返回值yx的正弦值,数据类型为浮点数。返回值范围:-1≤y≤1。a=sin(b);//a y=x的数据类型为浮点数,数值范围为-1.0x1.0xx<-1时,返回值为-yx的反正弦值,数据类型为浮点数。返回值范围:-pi2y≤pi2。a=asin(b);//a= y=a=sinh(b);//a= y=xy,需要先转换为弧度值,然后再使用yx的余弦值,数据类型为浮点数。返回值范围:-1y≤1。a=cos(b);//a= 5acos(反余弦函数)y=x的数据类型为浮点数,数值范围为-1.0x1.0yx0pixa=acos(b);//a= y=a=cosh(b);//a= 7tan(正切函数)y=xy,需要先转换为弧度值,然后再使用yx的正切值,数据类型为浮点数。b=-a=tan(b);//a=- 8atan(反正切函数y=atanyx的反正切值,数据类型为浮点数。返回值范围:-pi2ypi/2。a=atan(b);//a= c=floata=atan2(1.0,1.0);//a= y=yx的工程正切值,数据类型为浮点数。a=tanh(b);//a= y=eval_ploy(x,a[a为参数数组,数据类型为浮点数;floaty;//y=4x3+3x2+2x1+1a[0]=1.0;a[1]=a[2]=a[3]=y=eval_poly(3.3,a,4);//y= z=参数y为指数,数据类型为浮点数。floata,b,c;c=pow(a,b);//c= y=a=log(b);//a= y=a=log10(b);//a=- y=floata,b;a=exp(b);//a= 16sqrt(浮点数平方根)y=yx的平方根值,数据类型为浮点数。a=sqrt(b);//a= 17fabs(浮点数求绝对值)y=yx的绝对值,数据类型为浮点数。b=-a=fabs(b);//a= y=OFF6-16-1sfloatx;boolc;c=y=n0~31。在同一程序中不允许用同一个序号调OFF6-26-2sfloatx;boolb;b=y=返回值y的数据类型为半浮点数。sfloathlimit;sfloata,c,d;a=0.2f;c=hlim(a,hlimit);//c=d=hlim(0.5f,0.1f);//d=y=返回值y的数据类型为半浮点数。xllimitllimit。sfloata,c;sfloatllimit;a=0.7f;c=llim(a,llimit);//c=y=sfloatc;c=hsel(a,b);//c=6lsel(低选择器)y=sfloatc;c=lsel(a,b);//c=y=sfloatc= 8getfx(取一维折线表的数据项)y=sfloat 9setfx(写一维折线表的数据项)参数d为所写数据,数据类型为半浮点数。sfloatd; y=sfloatc= y=sfloat y=线表的y轴的序号为index号数据的值,数据类型为半浮点数。sfloat 参数d为所写数据,数据类型为半浮点数。sfloatd; 参数d为所写数据,数据类型为半浮点数。sfloatd; y=参数nNum为保留历史数据个数,最大为50,数据类型为整型。tnTSample*nNum秒种以前的数值,换为50个数据。nTSample最好设为系统控制周期的整数倍。sfloat y=Y 6-3ledsfloatc= Y 6-4lagy=一阶滞后是按下式进行处理:[1/(TS+1)]×X,其中S为拉斯算子,T为时间常数,X为输intt,n;a= y=ti0.1秒,数据类型为整型。
sfloatb=
6-5y=该指令对输入数据用指定的时间间隔指定的点数(最大为8点)对采样点求平均值,经过一个采样周期,采样一点新值就丢掉最前一点值,再求平均值。这就叫做移动平均值,由于过y(T)T时采样值sfloaty= y=sfloata;a=msw(2,0.0f,0.1f,0.2f,0.3f,0.4f,0.5f);//a= y=sw(switch为切换开关,数据类型为布尔值。boolswitch;sfloata;a=sw(switch,0.0f,1.0f);//a= y= 6-6floatc= 1fkdivf(半浮点整数除法)y=-7.9997y≤7.9997当负数/0时,返回值为-7.9997;当正数/07.9997。sfloata=fkdivf(-5.0f,-5);//a=b=fkdivf(7.0f,10);//b= 2fkmulf(半浮点整数乘法)y=-7.9997y≤7.9997x1×k>7.99977.9997。sfloata=fkmulf(3.0f,10);//a=b=fkmulf(0.05f,10);//b= y=fkmulksfloata;intb,c;a=b=fkmulf(a,20);//b=c=fkmulf(-3.0f,20);//c=- 4kfdivk(整数的半浮点除法)y=yk除以x1的商,数据类型为整型。返回值范围:-32767≤y≤32767。当0/0时,返回值为0;当负数/0时,返回值为-32767;inta=kfdivk(50,0.5f);//a=b=kfdivk(10000,0.01f);//b= 5kkdivf(整数除法)y=kkdivf(yk1除以k2的商,数据类型为半浮点数。返回值范围:-7.9997y≤7.9997。函数sfloata=kkdivf(30,50);//a=b=kkdivf(20,1);//b= 1dgap2(二位式二状态控制模块)y=参数hysteresis为死区间隙,数据类型为半浮点数。
sfloat
a=6-7 2dgap3(二位式三状态控制模块6-8y=参数zone为间隙,数据类型为半浮点数。参数n为模块序号0~31,数据类型为整型。sfloata= y=参数pv为被控量,数据类型为半浮点数。模块各参数作用见BSC参数表。sfloata= y=pvIn为内环被控量,数据类型为半浮点数。参数n为模块序号0~63,数据类型为整型。sfloata= 5orint(16位整数或)y= a=b=orint(a,9);//b=orlong,andint,6andint(16位整数与)y= a=b=andint(a,9);//b=andlong,orint,7orlong(32位长整数或)y= a=b=orlong(a,9);//b=orint,andint,8andlong(32位长整数与)y= a=b=andlong(a,9);//b=orlong,andint,y=num的数据类型为长整数,serial的数据类型为整数。Serialnum booly;a=3;//y=getbit(a,0);//y=y= //y=y=16位,Serial
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电泳线废水处理方案
- 车辆段临时设施方案
- 采购职业规划简述
- 《青蒿素 人类征服疾病的一小步》青蒿素研究的成果转化的合作策略课件
- 供应链专业考试题及答案
- 学校体育器材管理试题及答案
- 药品不良反应报告处理制度内容
- 广东省广州市番禺区2026年中考二模英语试题附答案
- 药品集中采购使用管理规范培训试题及答案
- 药品流通监督管理办法试题及答案
- 幕墙玻璃汽车吊装施工方案
- 无机及分析化学:第一章 气体和溶液
- 园艺产品市场调查-市场调查方案设计
- -网络心理与大学生心理健康
- 无线电基础(第五版)中职PPT完整全套教学课件
- 第四章-管理伦理课件
- 公司章程范本免费
- 测量管理体系管理手册
- 生物中考经验交流材料
- 轮式装载机传动系统设计全套图纸
- 科学计算与数学建模课件
评论
0/150
提交评论