企业信息

    浔之漫智控技术(上海)有限公司

  • 7
  • 公司认证: 营业执照已认证
  • 企业性质:私营企业
    成立时间:2017
  • 公司地址: 上海市 松江区 永丰街道 上海市松江区广富林路4855弄52号3楼
  • 姓名: 聂航
  • 认证: 手机已认证 身份证已认证 微信未绑定

    6ES7221-1BF22-0XA8常规

  • 所属行业:电气 工控电器 DCS/PLC系统
  • 发布日期:2024-04-30
  • 阅读量:32
  • 价格:面议
  • 产品规格:模块式
  • 产品数量:1000.00 台
  • 包装说明:全新
  • 发货地址:上海松江永丰  
  • 关键词:西门子代理商,西门子一级代理商

    6ES7221-1BF22-0XA8常规详细内容

    6ES7221-1BF22-0XA8常规


    L W#16#87 //为“V”区域载入码

    T LB[AR1,P#6.0] //传送到ANY变量

    CALL FCxy

    source1: = #target //传送自创建的ANY指针

    source2: = P#L 0.0 BYTE 8 //传送L数据区

    寻址与通过ANY指针寻址的区别:

    下图显示了寻址与通过自创建ANY指针寻址间的区别。在这种情况下“87”码不传送,因此ANY指针指向其本地区域。

    146:怎样在DB内进行间接寻址?

    请参照:

    在DB内进行间接寻址例子

    147:下面是一个在STEP7软件中实现简单指针寻址的例子程序,您可以参考它的结构实现您的指针寻址功能?

    siemens指针寻址例子_cpu315

    148:地址和符号寻址的定义和区别是什么?

    在STEP 7程序中要用到I/O信号、位寄存器、计数器、定时器、数据块及功能块。在程序中可以采用直接地址,或者便于读程序的符号寻址,例如Motor_A_On,或采用你的公司或行业常用的代码。这样在你的用户程序中就可以通过符号来寻址。

    地址:地址由地址标识符和存储器的位置组成,例如Q1.0,I1.1,M2.0, FB21等。

    符号地址:如果为地址一个符号名,程序会便于阅读和查错。

    STEP 7 可以自动将符号名翻译成所需的地址。如果要用符号名存取ARRAY、STRUCT、数据块、局部数据、逻辑块、以及用户自定义数据类型,为地址一个符号名。

    例如,可以为Q0.0 一个符号名MOTOR_ON,然后在程序中将MOTOR_ON作为一个地址使用。使用符号地址将您的过程控制项目中的元件与程序中的元件相对应。

    注意:在符号名中不允许使用两个连续的下划线,例如MOTOR__ON。

    编程支持:LAD、FBD、STL中地址、参数、块名可用地址或符号表示。

    用菜单命令View > Display > Symbolic Representation,可以切换地址和符号地址

    为了使用符号地址编程加容易,可以同时显示地址和符号名。使用菜单命令 View > Display > Symbol Inbbbbation来。这就意味着STL语句的注释包含了多的信息。不能在该界面下进行修改,只能在符号表(symbol table)或变量声明表(variable declaration table)中进行修改。

    149:S7-300/400系统存储区域共有多少种?

    S7 CPU的系统存储区域分为下表中列出的区域。在程序中可以根据相应的地址直接读取数据。

    150:如何把一个DATE_AND_TIME变量转换为bbbbbb变量?

    为了以日期/时间字符串(bbbbbb)形式显示DATE_AND_TIME变量,DATE_AND_TIME 变量的字节转换为相应的CHAR字符。

    读取DATE_AND_TIME 变量的字节并从这两位数所在ASCII码中创建位。将确定了的CHAR字符存储在字符串的期望位置。

    示例:

    L 字节年

    SLD 12

    SRW 4

    SRD 8

    L W#16#3030

    + I

    T 数字字符年

    也可以用相反顺序将一个bbbbbb格式的日期/时间字符串转换为一个DATE_AND_TIME变量



    西门子SIMATIC S7-300/400 问答大汇总


    1. 怎么使用 MPI/DP-RS232
    问:我要将 CPU314 与电脑连接通信应该怎么办?是否用 MPI/DP-RS232 连接器,要怎么用啊?

    答:步,将适配器(PC Adapter)与 RS232 电缆相连。适配器的 MPI/DP 口插入 CPU
    的编程口,RS232 电缆与 PC 的串口连。

    [NextPage]
    二步,进入"开始"->"设置"->"控制面板"->"SET PG/PC Interface"。点选
    “ Access Point of the Application ” =S7ONLINE ( STEP7 ),“ Interface bbbbbeter
    Assignment”=PC Adapter (MPI)。
    三步,点“Properties”进入属性设置,MPI 设置内容:选中“PG/PC is the only master on the bus”,其余内容沿用默认值,或根据 CPU 的状态变。
    Local Connection 设置:COM Port=硬件连接的串口,Transmission Rate=PC Adapter 的 拨码位置。 确认后退出设置,如果上下位机参数一致的话,此时连机就会成功。

    2. IW 和 PIW 有什么区别
    问:STEP7 在实际应用中 IW 和 PIW 有什么区别?


    答:我个人理解:对于没有相应的映像缓冲区的输入地址,一定采用 PIW 指令,而一般外 设输入,都是没有映像缓冲区的。对于有映像缓冲区的输入地址,一般使用 IW,表示 取映像缓冲区内数据,但也可用 PIW,表示直接取地址内的数据而非映像缓冲区的数据, 相当于立即读取。对于输出亦是如此。

    3. 模拟信号接地问题

    问:我用的 SM331 8*12bit 模块信号有时正常有时不正常,后来我把 COMP-跟信号的 M- 接起来就好了,但我同时发现他们之间接电容也可以,是怎么回事??模块的 COMP-端、 各信号的 M-端和模块 24 伏供电的 M 端之间电气上有什么关系??

    答:对隔离输入模板,.摸板参考地 Mana 与 CPU 的电源地 M 没有电连接。因此 Mana 与
    M 有电位差时,采用隔离输入模板。但是,如果电位差过 Eiso,则建立 Mana
    与 M 之间的连接。对 SIEMENS 的模板,Eiso=75VDC 或 60VAC。

    对非隔离输入模板,则建立 Mana 与 M 之间的连接。 为抑止信号地 M-与 Mana 之间 的共模干扰,不同传感器的接地方式不同,限于篇幅以及图解困难,难以细说。一般原则是, 建立信号地与模板的地、模板地与(CPU)系统地的连接。如果有干扰环流,则将取消模 板地与系统地的连接,让模拟地悬浮。另外,屏蔽双端接地,如果有干扰环流,则改为 单端。

    4. cp342-5 的放置位置有要求吗?放在轨道的什么地方合适
    问:cp342-5 的放置位置有要求吗?放在轨道的什么地方合适?

    答:CP342-5 工作原理是, 通过硬件配置将各 DP 子站的分布 I/O 映射到 CP342-5 的内 存,然后再通过 FC1(DP_SEND)、FC2(DP_RECV)实现 CPU 与 CP342-5 的数据交换。数据 传递的过程如下:


    FC1
    CPU 内存————->CP342-5 ——————->DP 子站的输出
    FC2
    CPU 内存<————-CP342-5 <——————-DP 子站的输入
    程序中我们控制的只是 CPU 与 CP342-5 之间的通讯,而子站与 CP342-5 的数据交换是由
    CP342-5 根据硬件配置自动完成的。

    关于 cp341 与 MM440 通讯
    问:我用 s7-300(cp341)与 MM440 的 com 口(29 30)通讯控制变频器
    2 个 PZD,4 个 PKW 具体参数设置如下:
    P003=3;P700=5;P1000=5;P2011=1;P2012=2;P2013=4;其他参数采用工厂设置。
    USS-S7 中的例程进行编程;但是只能向变频器发送 PZD 参数(控制字 1 和主设定值), 但不能返回任何参数。CP341 的指示灯只显示不断发送,接受灯不亮。
    在数据块 dbnd(DB100)中的 DBW6(通讯状态字)的值为 0200;DBW8(通讯故障字) 的值为 0080;不知是什么意思?

    [NextPage]


    答:CP341(RS422/485)采用(RS485)ASCII 码协议。CP341 如果采用手册中的接线 方式(11+,4-)则 cp341 的接收发送灯同时亮,但是不能进行;如果接线为(9+,
    2-)则出现前述情况,即只能向变频器发送 PZD 参数(控制字 1 和主设定值),但不能返回 任何参数。

    如果你只接了 9、2 的话,现象则说明你的参数设置没有问题。在 4 线方式下,9、2 是发送 端。11、4 是接受端,没有接线自然没有数据返回。

    对 MM440 应该用 2 线方式,接线是
    11(CP341)————-29(mm440)
    4(CP341)————-30(mm440)
    且 2 与 4、9 与 11 要短接,你接了吗?
    此外,在 PKW 中你的任务识别标记 ID 和参数号填对了吗?

    5. 315-2DP 与 ET200M

    问:通过 DP 相连,CPU 地址为 2,ET200M 地址为 5,硬件上地址设置正确。 在项目管理器 里把软硬件组态好了以后,把 SIMATIC300 STATION 传给 PLC,显示 SF 错误,ONLINE 情况下, OB1 不运行。
    如果把 HARDWARE 再传一遍,则 SF 错误无,OB1 可运行,现在再把 SIMATIC300 STATION
    传给 PLC,则重新有 SF 错误。
    我原来以后,把 SIMATIC300 STATION 传给 PLC 一次,相当于软硬件组态都传一次,请 问各位高手,这样正常吗?

    答:我想楼上的各位可能没有看清楚 royal 的问题:他通过 HARDWARE 下载+OB 下载, 没有问题,这样可以排除是组态和程序的问题。他只有在用 STATION 下载时才出现故障,
    SF 灯亮。所以原因不是很明确。

    我个人认为是不是 royal 并没有将 HARDWARE 进行“编译保存”,因此他的程序块内没有
    “SYSTEM BLOCKS”,所以才出现他所说的现象。请 royal 在试一试!

    6. S7-300PID 的 FB41CONT_C 功能及参数设定

    问:请教各位高手,本人现用到西门子 S7-300(CPU315)做整流系统的 PID 控制,具体 是由 AI 模块输入 4-20MA 信号(既 A 柜/B 柜饱和电抗器控制电流信号反馈和机组 A 柜/B 柜直流电流信号反馈),通过 CPU 调用 PID 功能块,实现自动闭环控制,后由 AO 模块 输出一个 4-20MA 的信号给稳流系统(既 A 柜/B 柜电流给定反馈)。

    现请教:1、具体应调用 S7 的 PID 中的哪些功能块。我是直接在 OB1 里边调用 FB41,不 知可否。
    2、PID 标准块 FB41 的输入输出参数如何整定,PV_PER、SP_INT、PV_IN 有何区别。
    3、GAIN、TI、TD 如何整定。
    4、MAN_ON、PVPER_ON 怎么用,是直接在 FB41 的输入端写吗?

    答:原理上,PID 的调节节奏应该与其采样周期一致,这是数学模型应与物理过程一致的要 求。这也就是 FB41 要在 OB35 中周期调用且 OB35 的周期要与 FB41 采样周期一致的原因。

    当然,在 OB1 或其他 FC、FB 中调用 FB41 也是可以的,此时将 OB1 参数区中扫描周 期作为 FB41 的采样周期。
    本人在管道恒流恒压的 PID 过程控制中,也曾在 FC 中无条件连续调用 FB41,PID 效果也 还令人满意。我个人认为,精度要求不高的应用中,简单调用也是可以的。
    FB41 参数的设置很灵活,可根据自己的习惯或应用的方便选择。下面是一种方式。
    MAN_ON : PID 手动调节给定值 MAN 的使能位,可用 PID 手自动转换位来触发。 PVPER_ON :是 PID 输入输出参数“PERIPHERAL 化”的使能位,即将参数看成 0~27648 之间的整数。换个说法,就是 PID 的反馈值直接取自相应 AIW 通道,而 PID 输出则直接给 出到 AQW 通道。参数整定由 FB41 完成。可用调节装置的启动标志来触发本位。
    MAN :PID 手动调节给定值,当“MAN_ON=1”时有效。
    CYCLE :采样周期。根据物理量变化快慢定,一般要求与 FB41 执行的周期一致。
    SP_INT:PID 的设定值。注意设定值与反馈值的单位一致。为了避免错误,建议将 SP_INT
    转换为-100.0~100.0%之间无量纲的百分数,输入到 FB41 时,注意只取百分号之前的数即可。
    PV_PER:PID 过程的反馈值,直接取自反馈量的 AIW 通道的 A/D 码。仅在“PVPER_ON=1”时有效。 GAIN:比例系数。 TI:积分时间。 TD:微分时间。
    LMN_PER:PID 的调节输出,直接对应调节输出 AQW 通道。
    设置了上述参数,基本的 PID 调节就可以实现了。根据需要再完善其他参数的设置,比如 死区的设定等。
    利用 STEP7 中的 PID 赋值工具可形象快捷地完成参数设置,结果直接存入相应背景数据块,

    [NextPage]
    FB41 调用时无须再赋值。

    7. 除 300 中的密码


    问:我在使用 CPU313C-2PTP 时,往 PLC 里下了一个程序,开始还好使,可下载了几次之后, 竟然要求密码!本人申明,程序没加密,而且本人还不知如何加密!请问大虾, 如何清空
    PLC 的程序而不需要密码?

    答:你需要对 MMC 卡进行格式化操作。格式化过程如下:

    1. 将开关置为“MRES ”位置,并保持,直至 LED 停止闪亮(即直至大约 9 秒钟后永亮 着)。
    2. 在随后的 3 秒内,释放开关,并再次切换为“MRES ”位置。STOP LED 现在闪亮, 指示正在进行格式化。
    一定要使用规定的操作顺序。否则,MMC 就不能进行格式化,而是返回存储器复位状态。 我建议你..cn/download/manual/asbbbb 上下载 S7-300C 的所有资料仔 细读一读 才进行以 上操作, 在《 S7-300 可编程控制器 CPU 312C 至314C-2DP/PtP CPU 技术参数》一书上有此操作的详细说明,并有注意事项!请注意。

    8. 00 的 L 指令

    问:L 指令装一个立即数(常数)到 ACCU1L 1


    如何表达我这个装入的数是 Byte? Word? DWord? S7300 还未入门,请高手指教!

    答:在装入的时候,如果被装入的数太短,达不到 4BYTE(大多情况这样),则在装入的 时候,会自动填 0而在取出的时候,如果目标是 4BYTE,则全盘复制,如果短了,就只复制需要的长度,另外的就被抛弃了,其实被抛弃的部分一般是 0 的,编程时候需要知道的。 比如 L L#16#01020304,这是一个 32 位的 DWORD然后 T MW0,长出的部分被丢掉,终 MW0 的内容为 16#0304 除非有意这样做,否则做之前是要保数据没有溢出的。否则计算就乱套了。 反过来,L 16#FFFE (INT -2)T MD0则 MD0 的值为 L#16#0000FFFE (DINT 65534) 数据虽然没有溢出,但数据格式不能继承了。 这种时候,分别需要 DTI 和 ITD 命令进行转换。
    至于 200 里面的 MOVB,MOVW,MOVD 等的命令,我想,在 300 里面它是自动的,根据目 标数的尺寸,自动实现不同的 MOVE 功能,与 200 对应。
    9. SB 接口和 S7-200 及 S7-300 连接的体会 我近换了一个新笔记本,没有串口,后发现它不能和 S7-200 及 S7-300 连接


    10. lc 程序的下载问题


    问:在一个网络中(比如 profibus),有多个 plc,在 step7 中硬件组态中也有 多个 plc,所编程序是整个网络系统的程序,那么程序下载的时候,如何确定哪 些程序被下载到哪一个 plc 中?

    答:MPI 网络中多个 CPU(S7-300/400)及 HMI PANEL(WINCE BASED)的程序下载

    1. 按照你所需要的网络,完成硬件安装及通讯线的连接.
    2. 对所有的 CPU,默认地址都是 2,所以可以分别上电,下载硬件配置与程序.
    3. 对于 PANEL 可以通过其控制面板的 S7-TRANSFER 设置网络地址,然后通过 MPI 网络直接 下载 PANEL 的组态程序.注意,此时 S7-TRANSFER 中的 ONLY MASTER ON THE BUS 不能被 选中.
    4. 当使用 CP5511/5611 以点对点的方式对 PANEL 下载程序时,S7-TRANSFER 中的 ONLY
    MASTER ON THE BUS 被选中.

    11. 300 中,如何实现 S7-200 中 SM0.3 的功能

    问:在 S7-300 中,如何实现 S7-200 中 SM0.3 的功能?:即开机后进入 RUN 状态,ON 一个 扫描周期,请各位赐教.

    答:你在 OB100 中调用 SFB21 “RESUME”,原理及注意事项如下。

    If there is a rising edge at control bbbbb REQ, SFB 21 "RESUME" activates a hot restart on the remote device selected with the ID.
    The following conditions must be met if the remote device is a CPU:
    1、The CPU must be in the STOP mode.
    2、The key switch of the CPU must be set to "RUN" or "RUN-P."
    3、When you created the configuration with STEP 7, you allowed for a manual hot restart.
    4、There must be no condition preventing a hot restart.


    Once the hot restart has been completed, the device changes to the RUN mode and sends a positive execution acknowledgement. When the positive acknowledgement is bbbbuated, the status bbbbbeter DONE is set to 1. Any errors that occurred are indicated in the status bbbbbeters ERROR and STATUS.
    A restart can only be activated again in the same remote device after the previous hot restart has been completed.

    12. 关于 IM153-2 配置

    问:我的 S7-400H 系统中 IM153-2 的定货型号是 6ES7153-2AR00-0XA0,但是在 S7V52 中 HW CONFIG 里无法找到此型号的模块,请问是不是新产品 在如何硬件配置里如何处理?

    答:由于是冗余配置,6ES7153-2AR00-0XA0 是由两块 6ES7153-2AA02-0XB0 组成。硬 件配置时插入 6ES7153-2AA02-0XB0。

    13. 一些奇怪的问题

    问:1、能不能用 WINCC 直接控制 ET200S?不用任何 PLC,系统的功能很简单,算法在 WINCC 中实现。现在的问题是 WINCC 能直接控制 ET200S 吗?(我在一个系统看到这样 的结构,不知道能不能实现)


    2、SFC15,SFC16 在读写智能从站时用,过 4 个 BYTE 的话就需要 SFC15,SFC16? 如果我一个一个字节读的话(读很多个)是不是就没有这个限制了。

    答:请注意:S7-200 与 ET200S 是两个不同的东东。

    ET-200S 与 WINCC 连,方法:
    1、带 CPU 的 IM151+CP5611,原理过程与 S7-300 类似;
    2、如 SHINE 所说,cp5611/5613+SIMATIC NET,原理过程与连 EM277 类似。通过 COM_PROFIBUS 将 CP5611/5613 定义成一类主站,并组态相应从站,从而实现对从站数 据的读写。如果有逻辑的话,需借助脚本语言。


    问:在FC块中TEMP下自定义的临时变量,程序运行的时候存在哪个区域呢?比如说建立一个名为A的临时变量,地址为0.0,这个变量使用时会不会与M0.0冲突?还有,两个不同的FC块中,临时变量地址可否一样?比如说FC1中的地址为0.0的临时变量会不会与FC2中地址为0.0的临时变量冲突呢?

    答:在搞清楚临时变量的地址之前,明白S7-300/400PLC用户存储区的分类,PLC的基本仓储区是系统存储区、装载存储区和工作存储区;而程序运行时临时变量TEMP就储存在工作存储器的“临时本地数据存储区(L堆栈)’
    M0.0 位于系统存储区中,而临时变量位于工作存储区,是两个不同的存储区,是不可能冲突的,临时变量用L0.0,LB1表示,用符号变量A表示时要加#;
    两个不同的FC块中,临时变量地址可以一样,不会发生冲突;因为TEMP变量为临时局部数据存储区,在CPU内部,由CPU根据所执行的程序快的情况临时分配。一旦程序块执行完成,该区域被收回,在下一个扫描周期,执行到该程序时再重新分配TEMP存储区。

    1.WINCE快捷方式结构

    WINCE的快捷方式和WIN2K,XP的不同,只是一个后缀名为.LNK的文本文件.


    其格式如下: 

    数字#路径


    比如,有个快捷方式写法如下:

    23#\bbbbbbs\ToolViewer.exe


    指的是指向bbbbbbS文件夹下的Toolviewer.exe可执行文件.数字究竟代表的是什么意思,我也不太清楚;有一说法是#后的ACSII字符 的数量,但如果把上述例子改为1#\bbbbbbs\ToolViewer.exe也可正常运行,但去掉数字则系统无法识别.虽然可以正常使用,但建议还 是按照文档#之后的ACSII字符数量填写.

    2.如何把快捷方式加到内核中


    设我们有一快捷方式EnglishExp.lnk,要将其加到内核中.


    在PB环境中打开工程,在project.bib文件的FILES字段中添加:


    EnglishExp.lnk $(_WINCEROOT)\Tbbbb\MyAPPC\EnglishExp.lnk NK H


    其中 $(_WINCEROOT)指的是PC机子上PB安装的根目录,H指的是文件属性,意义代表如下:


    S:系统
    H:隐藏
    R:压缩的资源文件
    C:压缩文件
    U:非压缩文件

    3.如何把快捷方式放到桌面


    语法如下:Directory(”欲拷贝至的文件夹”):-File(”改的名称”,”要拷贝的文件”)


    设我们有一快捷方式EnglishExp.lnk,要将其放到桌面,并把快捷方式的名称改为”英语”
    在PB的project.dat文件加入此句:


    Directory(”\bbbbbbs\LOC_DESKTOP_DIR”):-File(”英语.lnk”,”\bbbbbbs\CEnglishExp.lnk”)


    包含在内核里面的文件全部释放到”\bbbbbbs”文件夹下.


    LOC_DESKTOP_DIR指的是本地桌面.在PB中,常用的还有如下宏定义:
    LOC_DESKTOP_DIR: 桌面
    LOC_MYDOCUMENTS_DIR: My Documents
    LOC_PROGRAMFILES_DIR: Program Files
    LOC_FAVORITES_DIR: Favorites
    LOC_RECENT_DIR: Recent
    LOC_MYDOCUMENTS_DIR: My Documents
    LOC_HELP_DIR: Help


    多的定义可以在ceshellfe.str文件中找到

    4.快捷方式的小头


    在PC机的操作系统中可以通过修改注册表来取消快捷方式左下角的小头,但在WINCE中注册表没有关于取消小头的键值(可能我没找到^_^).在这里我采用的是直接修改资源文件的做法.
    打开shcore.res文件,其中文的路径在 $(_WINCEROOT)\PUBLIC\COMMON\OAK\LIB\ARMV4I\RETAIL\0804\,然后将1205的ICO的小头删 掉即可.注意,不是删除ID为1205的ICO图标,是删除ICO图标中的内容.

    5.微软应用程序的快捷方式


    如果在PB中添加了微软的应用软件,便会在桌面和程序中添加其快捷方式;如果觉得快捷方式碍眼,可以将其注释掉再编译即可.


    现在列出一些dat文件中定义的微软应用软件的快捷方式:


    wceappsfe.dat (C:\WINCE420\PUBLIC\WCEAPPSFE\OAK\FILES\),内含:pmail,wordpad
    wceshellfe.dat (C:\WINCE420\PUBLIC\WCESHELLFE\OAK\FILES\),内含:iexplore,帮助文档在”help”文件夹的快捷方式
    viewers.dat (C:\WINCE420\PUBLIC\VIEWERS\OAK\FILES\), 内含:pdfviewer,imageviewer,Presviewer,Docviewer
    directx.dat (C:\WINCE420\PUBLIC\DIRECTX\OAK\FILES\),内含:Media Player,DVD Player

    6. 修改默认shell


    其实让一个程序在wince里启动和bbbbbbs里差不多,直接设置其为启动项,这个有几个方法。一个就是制作一个快捷方式,指向我们的应用程序如app.exe,然后将快捷方式放到\bbbbbbs\startup下面。


    步骤如下:(设app.exe已经拷贝到bbbbbbs下面)


    在pb中创建一个文件,文件类型选txt,然后命名为.lnk后缀,设名字为test.lnk
    编辑其内容为: 16#\bbbbbbs\app.exe


    备注:的16是# 后面所有字符的总和,包括空格。Wince的帮助文档上说这么定义就行,但是我尝试后,后down到目标机上面时提示找不到文件,在wince里查看这 么创建的test.lnk的属性,发现其指向\bbbbbbs\app.exe后面还有两个方框,因此不对,我的解决方法是修改test.lnk的内容为 16#”\bbbbbbs\app.exe”


    编辑好lnk文件内容后在pb中修改project.bib


    在files段后面添加下面一行:(和添加别的文件到image中类似,也要在pb的flatbbbb菜单的setting下添加build语句,同上,不再赘述)


    test.lnk $(_FLATRELEASEDIR)\test.lnk NK S


    project.dat


    增加下面一行:


    Directory(”\bbbbbbs\startup”):-File(”test.lnk”,”\bbbbbbs\test.lnk”)


    这样后系统启动后就会自动启动我们的程序了。


    另外一种方法是编辑注册表:在project.reg中添加如下内容


    [HKEY_LOCAL_MACHINE\init]
    “Launch80″=”app.exe”
    “Depend80″=hex:14,00,1e,00


    这个是设定启动顺序,launch后面的数字越大的越是后启动,Depend80后面的依赖项,为16进制,上面的语句表明依赖项为launch20 定义的device.exe和launch30中定义的gwes.exe, 注意Launch后面的数字范围为0到99 ,此范围之外的将不会有效果。


    这样两种方法的效果都是系统都是系统先启动资源管理器explorer.exe(就是看到的默认桌面),然后启动我们的程序,(如果利用 taskman shell然后去掉任务栏那么效果好)但是这样还不够,我们如何不显示桌面,直接显示我们的程序呢?


    网上有人介绍的方法是去掉standard shell,但是我编译总是报错。我采用的方法是替换注册表中lauch50中的explorer.exe为我的app.exe,即搞定。


    修改注册表的方法:先把带KITL的系统跑起来,在PB的TOOLS->Remote registry editor里修改,验有效后,再去修改platfrom.reg, 或者自己写个REG文件,然后在platbbbb.reg里INCLUDE进来 SYSGEN后确认PBWORKSPACE里相关项目的REL目录里reginit.ini文件里包含了自己做的修改后make image然后DOWNLOAD下去就OK了。


    值得的是,我们介绍的步骤中那个修改平台setting,添加语句的,是因为我每次都是重新sysgen和build,如果只是简单的 make image的话(都是pb中的build OS菜单下的命令),那么将直接用release中的内容,因此也可以直接将文件放到release文件夹,然后改project.bib等实现往 image中添加文件。 同样,也可以直接修改release中的shell.reg中的launch50值为我们自己的程序(或者类似修改reginit.ini文件, reginit.ini文件存放有所有wince的静态注册表,来达到去掉桌面,直接启动我们程序的效果)。


    注意,这么启动的程序,如果点击关闭,就会死机的,因为没有窗口运行了。实际运用中,当然不会让用户关闭我们的程序,除非他一起关闭系统。



    http://zhangqueena.b2b168.com
    欢迎来到浔之漫智控技术(上海)有限公司网站, 具体地址是上海市松江区永丰街道上海市松江区广富林路4855弄52号3楼,联系人是聂航。 主要经营电气相关产品。 单位注册资金单位注册资金人民币 100 万元以下。 价格战,是很多行业都有过的恶性竞争,不少厂家为了在价格战役中获胜,不惜以牺牲产品质量为代价,而我们公司坚决杜绝价格战,坚持用优质的原材料及先进的技术确保产品质量,确保消费者的合法利益。