版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西门子s7-200系列plc ppi协议及ppi动态链接库dll一、西门子s7-200系列plc ppi协议动态链接库dll(以下简称dll),是为满足工业通信需要,针对工业领域要求上位机对西门子s7-200系列plc实时采集与控制的组态编程而设计。本dll是采用delphi语言开发的标准串口通讯库,具冇以下特 i1! 八"1)、实时性、可靠性好,可根据通信数据量自行调整通信时间;2).适用丁-多plc联网和上位机通信,满足多方面的需要;3)、函数接口功能全,操作简单;4)、附加实用转换与读取函数,易于快速开发(vc等非rad开发环境的开发);5)、支持usb、pc扩展卡等扩展串口号
2、;6)、支持多种操作系统 win9x/win2000/winxp(标注 win32 dll);7)、可在多种编程环境下使用,例如vb、vc、delphi等开发环境。二、ppi协议简介及s7-200cpu内存地址范围介绍2.1西门子ppi通讯协议通过硕件和软件侦听的方法,分析plc内部i占i有的ppi通讯协议,然后采用上位机编程,遵循ppi 通讯协议,读写plc数据,实现人机操作任务。这种通讯方法,与一般的自山通讯协议相比,省略了 plc 的通讯程序编写,只需编写上位机的通讯程序资源s7-226的编程口物理层为rs-485结构,siemens提 供microwin软件,采用的是ppi(point
3、 to point)协议,可以用来传输、调试plc程序。在现场应用中,当 需要plc与上位机通讯时,较多的使用h定义协议与上位机通讯。在这种通讯方式中,需耍编程者首先定 义自己的自山通讯格式,在plc屮编写代码,利用中断方式控制通讯端口的数据收发。采用这种方式,plc 编程调试较为烦琐,占用plc的软件屮断和代码资源,而且当plc的通讯口定义为自山通讯口时,plc 的编程软件无法对plc进行监控,给plc程序调试带来不便。siemens s7-200plc的编程通讯接口,内部固化的通讯协议为ppi i办议,如果上位机遵循ppi协议 來读写plc,就可以省略编写plc的通讯代码。如何获得ppi协
4、议?可以在plc的编程软件读写plc 数据时,利用第三个串口侦听plc的通讯数据,或者利用软件方法,截取己经打开且正在通讯的端口的数 据,然后归纳总结,解析出ppi协议的数据读写报文。这样,上位机遵循ppi协议,就可以便利的读写plc 内部的数据,实现上位机的人机操作功能。西门子的ppi (point to point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机 发出渎写命令,plc作出接收正确的响应,上位机接到此响应则发出确认屮请命令,plc则完成正确的读 写响应,回应给上位机数据。这样收发两次数据,完成一次数据的读写(从这里可以看出ppi协议的通讯 效率并不好,一次读
5、写需收发两次数据)。其通讯数据报文格式人致有以卜-几类:1) 、读写屮请的数据格式如f:sd le ler sd da sa fc dasp ssap du fcs edsd:(start delimiter)开始定界符(68h)le:(length)报文数据长度ler:(repeated length)巫复数据长度sd: (start delimiter)开始定界符(68h)sa:(source address)源地址,指该地址;da:(destination address) 11 标地址,指该地址;fc:(function code)功能码dsap:(destination servic
6、e access point) h 的服务存取点ssap:(source service access point)源服务存取点du:(data unit)数据单元fcs:(frame check sequence)校验码ed:(end delimiter)结束分界符(16h)报文数据长度和巫复数据长度为自da至du的数据长度,校验码为da至du数据的和校验,只取其中 的末字节值读写-般数据的功能码为6ch,读ct数据、置位、复位、强制等的功能码为7ch,确认命 令功能码5ch。2) 、plc接收到读写命令,校验后正确,返冋的数据格式为e5h3) 、确认读写命令的数据格式为:sd sa da
7、fc fcs ed其屮sd为起始符,为10hsa为数据源地址da为目的地址fc为功能码,取5chfcs为sa+da+fc的和的末字节ed为结束符,取16h4) 、数据类型码04: s05: sm 06: ai07: aq 1e:c81: i82: q83: m84: v 1f:t 5)、读写功能数据命令实例1、给写vw3值120068 21 21 68 02 00 6c 32 01 00 00 00 00 00 0e 00 06 05 01 12 0a 10 02 00 02 00 01 84 00 00 18 00 0400 10 04 b0 50 162、读取ib0的数据值68 1b 1b
8、 68 02 00 6c 32 01 00 00 00 00 00 0e 00 00 04 01 12 0a 10 02 00 01 00 00 81 00 00 00 64 16根据上述例子川串口粘:灵测试-下,当发送命令成功plc返回e5,你再发送10 02 00 5c5e16,就可以完成一次读写命令。(记得接收和发送采用16进制方式)2.2 s7-200plc cpu内存地址范围(dll所能寻址的范围)被存取:类型 cpu 221 cpu 222 cpu 224 cpu 226位(字节位)v 0.0-2047.7 0.0-2047.7 0.0-5119.7 v 1.22 0.0-5119
9、.7 v 1.230.0-8191.7 v2.000.0-10239.7 v2.000.0-10239.7 xp10.0-15.7 0.0-15.7 0.0 -15.70.0-15.7q 0.0-15.7 0.0-15.7 0.0 -15.70.0-15.7m 0.0-31.7 0.0-31.7 0.0 -31.70.0-31.7s 0.0-31.7 0.0-31.7 0.0 -31.70.0-31.7sm 0.0-179.7 0.0-299.7 0.0 -549.70.0-549.7字节vb 0 - 2047 0 - 2047 0-5119v 1.220-5119 v 1.230-8191
10、v2.000 - 10239 v2.000 - 10239 xpib 0-150150150-150-15015015mb00-310-31sb0-310310-310-31smb 0- 1790-299 0-5490-549字 vw0 - 20460 - 2046 0-5118v 1.220-5118 v1.230-8190 v2.000 - 10230 v2.000 - 10230 xp0-2550-2550-2550-2550-2550-2550-2550-255aiw 0-300-30062062aqw 0-30 0-300-620-620-5116 v 1.23双字 vd 0 - 2
11、044 0 - 2044 0-5116 v 1.220-8188 v 2.000 10236 v 2.000 10236 xp说明:s7-200plc的字、双字地址和字节地址实际上是重叠的,下面做个说明如:vbo vb1 vb2 vb3 vb4 vb5 vb6 vb7 vb8 vb9 vb10 vb11 vb12 vb13 vb14 vb15vwo vw2 vw4 vw6 vw8 vw10 vw12 vw14vdovd4vd8vd12从上例可以看出plc中字节、字与双字寻址的关系,当然如果你想使用vw1(vb1 vb2)、vd3(vb3 vb4 vb5 vb6)等寻址方式也是可以的,但为了减少
12、不必要的寻址错误适成程序的非法执行建议: 字寻址时使用(v、i、q、m等等)0、2、4、6、8、10 .,(这从plc的模拟量输入/输出(aiw/aqw)的 寻址就可以看岀奇数地址是不允许的)双字寻址时使用(v、i、q、m等等)0、4、8、12. 16、20、24 同时还要注意字节地址寻址最好也能不重叠;c、t区当前值读取时的地址按实际地址0-255來。三、dll函数说明1>打开串口function comopen(nport,baudrate,databits,parity,stopbits:longint;user:pchar):longint;stdcall;参数:nport:打开
13、串口号,取值为18,代表com 1com8;baudrate:波特率,取值为:1200、2400、4800、9600> 19200、38400;databits:数据位,取值为5、6、7、8;parity:校验位,取值1(代表even)、取值2(代表odd)、取值3(代表mark)、取值4(代表space)、 取值5(代表none):stopbits:停止位,取值1(代表1位停止位)、取值2(代表2位停止位)、取值3(代表1.5位停止位); user:dll授权用户名;返回值:长整型,操作成功返回“1”或“2”; 1表示注册授权用户,2表示用户未注册;操作不成功返冋为“0”时的原因:1)
14、、串口不存在或被占用;2)、dll注册授权不正确。注 木dll用户不注册除了下面说明的功能限制外没有其他限制,未注册用户请使用特定用户名:wangjuno注册用户功能上无任何限制,且将得到永久的软件使用和更新升级服务;使用举例:delphi: comopen(1,9600,8,1,1,pchar('wangjun'), tj jf com1 口。vb: comopen(1,9600,8,1,1 >angjunh),打开 com1 1_1。2、关闭串口function comclose(nport:longint):longint;stdcall;参数:nport:串口号,
15、取值为18,代衣com1com8;返冋值:长整型,操作成功返冋“1”,否则返回“0”;使用举例:comclose,关闭打开的com1 口。3、plc内部元件读取功能函数注:plc内部元件与数字的对应关系(dll中的所冇函数都遵循此规定):0 : i1 :q2 :m3 : v4 :s5 :sm6 : al7 : aq8 :c9 :t注:下面的读写等plc操作函数使用举例都是按vb调川函数形式给出。1)、字节元件数据读取function fenbread(nport,purpose,source,name,address,count:longint):pchar;stdcall;参数:nport:
16、串口号,取值为18,代表coc0m8;purpose: h标地址,取值0126;source:源地址,取值0126;(这里是plc的相应端口的ppi站地址,plc的地址实际是从2开始的) name:収值0(代表i)、収值1(代表q)、取值2(代表m)、収值3(代表v)、収值4(代表s)、取值5(代表 sm):address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范围;count:读取的字节个数,最多读取128个但不能超出寻址范围;返回值:字符串数据,字符串数据的终止符为”“;使用举例:fcnbread(1s0,2,0,2,4)s由com1读取ppi 2号站数据到0号站
17、(计算机)ib2ib5四个字节的值,如返回值为 u01 ff6403m,则表示 ib2=01, ib3=ff,ib4=64,ib5=03;字符串返回序列:| 01 | ff | 64 | 03| |返回值为16进制字符串,将返回值如上2位-组,可转换成“0255”间的整数值。在读取错误或不能读取的情况下返回“error”注:没有注册用户不能读取s、sm区字节值,可寻址范围ib0-ib1 > qb0qb1、mb0-mb1. vb0-vb1;2)、字元件数据读収function fenwread(nport,purpose,source,name,address,count:longint)
18、:pchar;stdcall;参数:nport:串口号,取值为代表cocom&purpose:日标地址,取值0126;source:源地址,取值0126:(这里是plc的相应端口的ppi站地址,plc的地址实际是从2开始的)name:取值3(代表v)、取值6(代表ai)、取值8(代表c)、取值9(代表t);address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范i札count:读取的字个数,最多读取64个但不能超出寻址范制t区读取时不超过44个;返冋值:字符串数据,字符串数据的终止符为”“;使用举例:fcnwread(1,0,2,3,0,4),由com1读取p
19、pi 2号站数据到0号站(计算机)vw0vw6四个字的值,如返回 值为 “006403e804b00010 ”,则表示 vw0=0064, vw2=03e8,vw4=04b0,vw6=0010;字符串返回序列:| 0064 | 03e8 | 04b0 |0010 | |返回值为16进制字符串,将返回值如上4位-组,可转换成无符号“065535”或有符号,4-32768+32767” 间的整数值。如果你从plc屮读取的是有符号的数时,这个值小于等于32767,就得到你读的实际值,例如读到一个值 “5eee"转换成整数24302,则实际值=+(24302-0)=+24302;ill果大丁
20、 32767,例如我读到一个值“8fc0”先转换成整数36800,那实际 值=-(36800-32768)=-4032.,在读取错误或不能读取的悄况下返冋“error”注:没冇注册用户不能读取c、t区字当前值,可寻址范围vw0vw& aiw0-aiw2:3)、双字元件数据读取function fcndwread(nport,purpose,source,name,address,count:longint):pchar;stdcall;参数:nport:串口号,取值为18,代表com1com8;purpose:目标地址,収值0126:source:源地址,取值0126;(这里是plc的
21、相应端口的ppi站地址,plc的地址实际是从2开始的) name:取值3(代表v);address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范围;count:读取的双字个数,最多读取32个但不能超出寻址范围:返回值:字符串数据,字符串数据的终止符为”“;使用举例:fcndwread(1,0,2,3,0,2),由com1读取ppi 2号站数据到0号站(计算机)vw0vw6四个字的值,如返 回值为-006403e804b00010 “,则表示 vd0=006403e8,vd4=04b00010;字符串返i川序列:| 006403e8 | 04b00010 | |返回值为16
22、进制字符串,将返冋值如上8位一组,可转换成无符号“04294967295"或有符号 u-2147483648+2147483647”间的整数值。如果你从plc中读取的是有符号的数时,这个值小于等于 2147483647,就得到你读的实际值,例如读到一个值“5eee8000"转换成整数为1592688640,则实际值 =+=+1592688640;如果大于2147483647例如我读到一个值“8fefc000"先转换成整数 2414854144,那实际值=-(2414854144-2147483648)=-267370496o在读取错误或不
23、能读取的情况卜'返回 “error”注:没有注册用户可寻址范围vd0vd4;4)、位元件的状态读取function fenbitread(nport,purpose,source,name,address,bit:longint):longint;stdcall;参数:nport:串口号,取值为1& 代衣com1com8;purpose: |=|标地址,取值0126;source:源地址,取值0126;(这里是plc的相应端口的ppi站地址,plc的地址实际是从2开始的) name:取值0(代表i)、取值1(代表q)、取值2(代表m)、取值3(代表v)、取值4(代表s)、取值5
24、(代表 sm);address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范圉;bit:读取的字节元件的位地址如11.0指11字节元件的第0位:返冋值:长幣数,返回为0农示状态为off,返冋为1衣示状态为on,返回为-1农示读取错谋或不能读 取;使用举例:fcnbitread(1,0,2,0,1,7),由com1读取ppi2号站数据到0号站(计算机)11.7,如返回值为1,则表示11.7=1; 注:没有注册用户不町以读取s、sm区状态,可寻址范围10.0-11.7. q0.0q1.7、m0.0m1.7、v0.0v1.7:4、plc内部元件写数据功能函数1)、字节元件数据写
25、入function fenbwrite(nport,purpose,source,name,address,count:longint;sendstr:pchar):longint;stdcall; 参数:叩ort:串口号,取值为18,代表com1com8;purpose: bl标地址,収值0126:source:源地址,取值0126;(这里是plc的相应端口的ppi站地址,plc的地址实际是从2开始的) name:取值0(代表i)、取值1(代表q)、取值2(代表m)、取值3(代表v)、取值4(代表s);address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范围;co
26、unt:写入字节个数,这里1字节应写入2位16进制字符串;sendstr:给字节写入的值,该值为2个一组的16进制字符串组其取值为00ff(整数值为0255);返回值:长整数,操作成功返回1,不能写入或操作错误返回0;当要写入多个字节值时依次排列即可。如给mb0与mb1写值100和80,先将100转成16进制字符串64、80转成16进制字符串50,则sendstr=6450: 一次就多写128个字节即字符串长应小于等于256;写字符串序列如:|00|ff|10|64| | 08 | 04 |实际字符串与位地址的数值应如下农:(将上例的字节mb0'、mbu转换为位地址m0.0m1.7由下
27、表对应, 此对应也可以应用于字节读取)m:0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 1.7 1.6 1.5 1.4 1.3 1.2 1.1 1.0位地址:|7|6|5|4|3|2|1 |0|7|6|5|4|3|2|1 |0|各位赋值:| 0|1 |1 |0|0|1 |0|0|0|1 |0|1 |0|0|0|0|16 进制串:|6|4|5|0|使川举例:fcnbwrite(1,0,220,2,"6450”)曲 com1 0 号站(计算机)写入 ppi 2 号站数据 mb0=64(10 进制 100)、mb1=50(10进制80),操作成功返回1:注:没冇注册用户不
28、能写s区字节值,可寻址范囤ib0、qb0、mb0、vb0;2)、字元件数据写入function fcnwwrite(nport,purpose,source,name,address,count:longint;sendstr:pchar):longint;stdcall;参数:source:源地址,取值0126:(这里是plc的相应端口的ppi站地址,plc的地址实际是从2开始的) name:取值3(代表v)、取值7(代表aq);address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范围;count:写入字个数,这里1字应写入4位16进制字符串;sendstr:给字
29、节写入的值,该值为4个一组的16进制字符出组其取值为0000ffff(整数值为065535); 返回值:长整数,操作成功返回1,不能写入或操作错误返回0;当要写入多个字节值时依次排列即可。如给vw2与vw4写值100和1000,先将100转成16进制字符 串0064、1000转成16进制字符串03e8,则sendstr=006403e8; 一次最多写64个字即字符串长应小于等于256;写字符串序列如:| 0064 |03e8| 0010| 6004 | 0008 | 0400 |使用举例:fenwwrite(1,0,2,3,2,2,"006403e8”)由 com1 0 号站(计算机
30、)写入 ppi 2 号站数据 vw2=0064(10 进制100)、vw4=03e8(10 进制 1000),操作成功返回1 ;注:没有注册用户不能写aq区字值,可寻址范閘vw0;3)、双字元件数据写入function fendwwrite(nport,purpose,source,name,address,count:longint;sendstr:pchar):longint;stdcall;参数:nport:串口号,取值为18,代表com1com8;purpose: |i|标地址,取值0126;source:源地址,取值0126:(这里是plc的相应端口的ppi站地址,plc的地址实际是
31、从2开始的)name:取值3(代表v);address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范围;count:写入双字个数,这里1双字应写入8位16进制字符串;sendstr:给字节写入的值,该值为8个一组的16进制字符串组其取值为00000000ffffffff(幣数值为0 4294967295);返冋值:长整数,操作成功返i川1,不能写入或操作错误返回0;当要写入多个字节值时依次排列即可。如给vd0与vd4写值10000和8000,先喲10000转成16进制字符串00002710、8000转成16进制字符串为00001f40,则sendstr=000027100
32、0001f40: 一次最多写32个双字即字符串长应小于等于256;写字符串序列如:| 00000064 |00002710| | 10000008 | 04008010 |使用举例:fcndwwrite(1,0,2,3,0,2;,0000271000001f40")由 com1 0 号站(计算机)写入 ppi 2 号站 数据 vd0=00002710(10 进制 10000)、vd4=00001f40(10进制8000),操作成功返冋1:注:没冇注册用户可寻址范围vd0:4)、位元件的置位function fcnset(nport,purpose,source,name,addres
33、s,bit:longint):longint;stdcall;参数:nport:串口号,取值为18,代表cocom&purpose:日标地址,取值0126;source:源地址,取值0126:(这里是plc的相应端口的ppi站地址,plc的地址实际是从2开始的) name:取值2(代表m)、取值3(代表v)、取值4(代表s);address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范围;bit:置位的字节元件的位地址如s1.0指s1字节元件的第0位;返回值:长密数,操作成功返回1,不能置位或操作错误返回0;使用举例:fcnset(1,0,2,2,2,6),lh
34、com1 0号站(讣算机)宣位ppi 2号站m2.6,如返回值为1,则表示置位成功;注:没有注册用户可寻址范围m0.0m0.7、v0.0v0.7、s0.0s0.7;5)、位元件的复位function fcnreset(nport,purpose,source,name,address,bit:longint):longint;stdcall;参数:nport:串口号,取值为18,代表cocom&purpose:目标地址,取0126:source:源地址,取值0126;(这里是plc的相应端口的ppi站地址,plc的地址实际是从2开始的) name:取值2(代表m)、取值3(代表v)、取
35、值4(代表s);address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范朗;bit:复位的字节元件的位地址如m1.0指m1字节元件的第0位;返回值:长整数,操作成功返回1,不能复位或操作错误返回0;使用举例:fcnreset(1,0,2,326),由com1 0号站(计算机)复位ppi 2号站v2.6,如返回值为1,则表示复位成功; 注:没有注册用户可寻址范围m0.0m0.7、v00v0.7、s0.0s0.7;5、i/q元件的强制功能(未注册用户不可使用)注:关于强制功能,如果你再操作时给一个元件强制了值,plc程序的正常功能将不能改变被强值元件的 状态,所以在不需要
36、对某个元件进行强制时请使用取消强制函数,来取消对该位的强制状态,但取消强制 状态并不改变元件的通段状态。1)、位元件的强制置位function feneset(nport,purpose,source,name,address,bit:longint):longint;stdcall;参数:nport:串口号,取值为1& 代表cocom8;purpose: h标地址,取值0126;source:源地址,取值0126;(这里是plc的相应端口的ppi站地址,plc的地址实际是从2开始的) name:取值0(代表i)、取值1(代表q):address:元件地址,取值为请参照2.2 s7-2
37、00plc cpu内存地址范围;bit:置位的字节元件的位地址如11.0指11字节元件的第0位;返回值:长密数,操作成功返回1,不能置位或操作错误返回0;使用举例:fcneset(1,0,2,0,0,6)jh com1 0号站(讣算机)遂位ppi 2号站i0.6,如返回值为1,则表示遂位成功:注:没冇注册用户不可以使用;2)、位元件的强制复位function fcnereset(nport,purpose,source,name,address,bit:longint):longint;stdcall;参数:source:源地址,取值0126:(这里是plc的相应端口的ppi站地址,plc的地
38、址实际是从2开始的) name:取值0(代表i)、取值1 (代表q):address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范围;bit:复位的字节元件的位地址如q1.0指q1字节元件的第0位;返回值:长整数,操作成功返回1,不能复位或操作错误返回0;使用举例:fcnereset(1,0,2,1,2,6)jh com1 0号站(讣算机)复位ppi 2号站q2.6,如返回值为1,则表示复位成功; 注:没有注册用户不可以使用3)、位元件取消强制function fcnecancel(nport,purpose,source,name,address,bit:longint
39、):longint;stdcall;参数:叩ort:串口号,取值为18,代表com1com&purpose:目标地址,取値0126:source:源地址,取值0126;(这里是plc的相应端口的ppi站地址,plc的地址实际是从2开始的) name:取值0(代表i)、取值1(代表q);address:元件地址,取值为请参照2.2 s7-200plc cpu内存地址范朗;bit:取消强制的字节元件的位地址如q1.0指q1字节元件的第0位;返回值:长整数,操作成功返回1,不能复位或操作错误返回0;使用举例:fcnecancel(1,0,2,1,2,6),由com1 0号站(计算机)取消pp
40、i 2号站q2.6的强制转状态,如返回值为1, 则表示取消强制成功;注:没有注册用户不可以使用;6、plc运行函数(该函数可在run、stop功能选项开关打在run上且plc处于停止模式时可将plc转 换到运行模式)function fcnrun(nport,purpose,source:!ongint):lorigint;stdcall;stdcall;参数:叩ort:串口号,取值为18,代表com1com8;purpose: bl标地址,収值0126:source:源地址,取值0126;(这里是plc的相应端口的ppi站地址,plc的地址实际是从2开始的) 返回值:长整数,操作成功返回1,
41、不能复位或操作错误返回0;使用举例:fcnrun(1,0,2),由com1 0号站(计算机)使ppi 2号进入运行模式,如返回值为1,则表示运行成功;注:没有注册用户不可以使用;7、plc停止函数(该函数可在run、stop功能选项开关打在run上且plc处于运行模式时可将plc转 换到停止模式)function fcnstopfnport,purpose,source:longint):longint;stdcall;参数:nport:串口号,取值为18,代表com1-com8;purpose:目标地址,取值0126;source:源地址,取值0126;(这里是plc的相应端口的ppi站地址
42、,plc的地址实际是从2开始的) 返回值:长整数,操作成功返回1,不能复位或操作错误返回0;使用举例:fcnstop(1,0,2),由com1 0号站(计算机)使ppi2号进入停止模式,如返回值为1,则表示停止成功;注:没冇注册用户不可以使用;四、dll附加函数说明1、串口打开状态的读取function comtrue(nport:longint):longint;stdcall;参数:noprt:串口号,取值为18,代表com1com8;返回值:长整型,串口成功打开返回“1”,否则返回“0”;2、整数转换成16进制字符串(为vc等非rad开发环境所增设)function clnttohex(
43、dcint,digits:longint):pchar;stdcall;参数:cint:待转换整数,取值为(065535);digits:转换的字符串位数,指定位数小丁-实际位数时按实际输出;在参数错误等非法的悄况下返冋“error”使用举例:clnttohex(200,2),ffl 返回字符串 “c8 ”;clnttohex(200,4),则返回字符串“ 00c8 ”;clnttohex(200,8),则返回字符串 “000000c8 ”;clnttohex(4500,4),则返回字符串“1194 ”;clnttohex(4500,3),则返回字符串“1194”,因为“194”不足以衣示4500这个数所以按实际输出字符串“1194 ”;” “为字符串数据的终止符。3、16进制字符串转换成整数(为vc等非rad开发环境所增设)function chextolnt(chex:pchar):longint;stdcall;参数:chex:待转换字符串,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年大象分类说课稿
- 苏教版(2024)数学二年级上册第四单元 认识三位数(基础卷)
- 2025-2026学年国王拼音说课稿
- 2025-2026学年三只熊的早餐说课稿评价
- 2025-2026学年地理教师说课稿
- 2026下半年高中数学教资面试函数专项试卷
- 2025-2026学年公输说课稿模板人物
- 2026课件:环境污染刑事案件适用法律解释
- 《商业银行贷款》课件
- 《心脏血管检查》课件
- 2026年昆明市嵩明润泽水务运营有限公司招聘(5人)笔试备考试题及答案解析
- 2026慈溪市上林人才服务有限公司派遣至浒山街道办事处招聘编外工作人员5人考试备考题库及答案详解
- (2026版)围手术期出凝血管理麻醉专家意见
- 建筑工程疫情防控工作方案
- 实习生录用通知书标准范本
- 电力工程预结算工作流程及审计要点
- 2025年内外贸协同发展项目可行性研究报告
- 综合办公室主任岗位竞聘
- 自考03450公共部门人力资源管理模拟试题及答案
- 化工岗位安全操作规程
- 绿色食品品牌2025年建设规划与消费者偏好研究报告
评论
0/150
提交评论