本文给出一种可以避免使用这些指令的小技巧,使你的代码看起来更简洁,也缩程序的扫描周期。
就是在计算机编程中做算法设计时典型的以空间换时间的思想。比如一个字变量,在计算中经常要向双字变量转换,则我们在定义符号时让该变量占据双字的内存空间,将不用的字清零,则可同时以字型或双字型访问该变量而不需要进行专门的转换。
S7-200 的内存格式与我们常用的 PC 机正好相反,它是高字在前,低字在后的。所以我们可以将字变量放在后两个字节,在程序初始化时将前两个字节清零(程序的其它地方不得使用这两个字节)。
如我们定义符号时将字变量定义在 VW2,同时保持 VW0 的值为零。则程序中可以用 VW2 以字型访问该变量,同时也可以 VD0 以双字型访问,避免了类型转换。
为了避免使用时混淆,最好以明确的符号定义来区分字类型和双字类型。在此强烈推荐类匈牙利命名法:以前缀指示变量类型,用首字母大写的有意义的英文单词的组合作变量名。本人习惯用以下缀:
b ---- 字节型变量(byte)
w ---- 字型变量(word)
d ---- 双字变量(double)
r ---- 实型变量(real)
f ---- 位变量(flag)
btn --- 自复位按钮式输入(button)
sw ---- 切换开关或自锁按钮输入(switch)
sig --- 传感器、编码等电平信号输入(signal)
rly --- 输出继电器位(relay)
……
当然,这个根据个人习惯来,没有定则,主要是利于自己区分。
假如有一个字类型变量名为 VarName,为使用前面的转换技巧,我们可以这样定义:
wVarName ---- VW2
dVarName ---- VD0
在程序初始化时将 VW0 清零(如果是不需要记忆的变量,直接将 dVarName 清零也可)或者在数据块中将 VW0 设置为零。则以后需要以字类型访问变量时就用 wVarName,需要以双字类型访问变量时就用 dVarName。完全不需要类型转换。
本方法可以极大的减少程序语句数,使程序更简洁、可读性更好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。
缺点是要多占用两字节的内存,以后程序中不能使用 VW0。但 S7-200 的 RAM 空间很大,一般是用不完的,以 226 为例,有多达 10K 的 RAM,偶从来没有超过 1K。 这些 RAM 都是花钱买来的,不用白不用,不用也是浪费了。
同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。
-
-
-
匿名 发表于 2008/11/16 17:05:13
我公司一批库存,我以最优惠的价格销售,如果有需要者请来电
厦门市狄豪自动化设备有限公司
联系方式
------------------------------------------------------
联系人:兰春福
电话:+86-592-5529910 13779958853
传真:+86-592-5529700
QQ:1027860284
E-mail:lanchunfu@163.com
BAUER BK80X-12U/D16MA4-TOF-W K/Z075A8/SP
FOXBORO 871FT-403D3C
FOXBORO 871FT-4H3D3C-C
FOXBORO 871FT-4G3D3C-3C
FOXBORO
83W-T01S1SFTNA-H
83F-TO2S1SFTNA-H
83F-T1HS1SFTNA-H
83S-T02TNA
83S-TO3TNA
83S-TO2TNA
83S-TO3TNA
METTLER TOLEDO (梅特勒)
TB600363-2
TB600529-2
TB600342BECKER KVT 3.80
BECKER VT 440ACOPIAN 电源 B24G500-230
电机 RELIANCE ELECTRIC FL 143TC 0.75
泵 Ingersoll-Dresser电机 RELIANCE ELECTRIC XEX 182JM 3HP
泵 FLOWSERVE M3128电机 EMERSON 215JM 10HP
泵 Ingersoll-Dresser D814电机 EMERSON 213JM 7.5HP
泵 Ingersoll-Dresser D824电机 EMERSON EME 254JM 15HP
泵 Ingersoll-Dresser D824电机 EMERSON 143JM 1HP
泵 Ingersoll-Dresser D824电机 EMERSON 184JM 5HP
泵 Ingersoll-Dresser D824
电机 RELIANCE ELECTRIC FC 56C 3/4HP
泵 Ingersoll-Dresser电机 BALDOR 37A03*56 7.5KW
泵电机 RELIANCE ELECTRIC XE 364TSC 100HP
泵电机 RELIANCE ELECTRIC XE 364TSC 60HP
泵电机 RELIANCE ELECTRIC 112-M2 4KW
泵 FLOWSERVE电机 RELIANCE ELECTRIC 213JM 7.5HP
泵 FLOWSERVE D824电机 RELIANCE ELECTRIC 213JM 7.5HP
泵 FLOWSERVE D824RELIANCE ELECTRIC
Part Number:897'13-10 B
Description: AC/AC CONVERTOR SA3000AC070电机 SEW DFV132M4-KS 10HP
减速头 SEW EURODRIUE RXF97DV132M4-KS电机 SEW DFV132M4-KS 10HP
减速头 SEW EURODRIUE RXF97DV132M4-KS电机 SEW DFV132M4-KS 10HP
减速头 SEW EURODRIUE RXF97DV132M4-KS电机 SEW K127BN30HRLPX200 10HP
减速头 SEW EURODRIUE RXF97DV132M4-KS电机 SEW W30DT80K 4BM0.1HR 0.75HP
减速头 SEW EURODRIUE 4BM0.1HR电机 SEW W30DT80K 4BM0.1HR 0.75HP
减速头 SEW EURODRIUE 4BM0.1HR电机 SEW DFT80N4 1HP
减速头 SEW EURODRIUE SA57TD80N4电机 SEW DFT80N4 1HP
减速头 SEW EURODRIUE SA57TD80N4电机 SEW DFT80K4BMG1NR 0.75HP
减速头 SEW EURODRIUE FA47DT80K4BMG1HR电机 SEW DFT80K4BMG1NR 0.75HP
减速头 SEW EURODRIUE FA47DT80K4BMG1HR电机 SEW DFT80K4BMG1NR 0.75HP
减速头 SEW EURODRIUE FA47DT80K4BMG1HR电机 SEW DFT80K4BMG1NR 1.5KW
减速头 SEW EURODRIUE SA67/TD80K4BMG1HR电机 SEW DT80N41BHG 0.75KW
减速头 SEW EURODRIUE FA47DT80N41BHG
电机 SEW DT80K41BMG 0.75KW
减速头 SEW EURODRIUE S67DT80K41BMG电机 SEW DT80K41BMG 0.75KW
减速头 SEW EURODRIUE S67DT80K41BMG电机 DANFOSS BK80X-12U/D16MA4-TOF-ZW 11KW
减速头 DANFOSS BAUER GMBH Z075A9电机 DANFOSS DNK94/241-UB1.5-S2-2MIN 1.5KW
减速头 DANFOSS BAUER GMBH ZKK010 A9电机 DANFOSS DNK94/241-UB1.5-S2-2MIN 1.5KW
减速头 DANFOSS BAUER GMBH ZKK010 A9电机 DANFOSS SG4-31/D1A4-283M 2.2-S2-2MIN 2.2KW
减速头 DANFOSS BAUER GMBH电机 DANFOSS SG4-31/D1A4-283M 2.2-S2-2MIN 2.2KW
减速头 DANFOSS BAUER GMBH电机 DANFOSS BK20X-21V/DU09XA4-TOF-ZW/SP 2.2-S2-5MIN 2.2KW
减速头 DANFOSS BAUER GMBH电机 DANFOSS SG4-21DK84-200L-UB 0.75-S2-5MIN 0.75
减速头 DANFOSS BAUER GMBH电机 西门子 RGZVESD 5HP
IWAKI MD-50
IWAKI MD-30
BAIDOR 215TC 7.5HP
DODGE M3556T-50
MARATHON 8VJ184TT1 FR-184T 5HP
MARATHON FR-215T 10HP
ABB 张力量测器 PFTL 101A 3BSE004160R1
ZIMM SHZ-50-K-SS
STEMMANN-TECHNIK TYP:6261309
STEMMANN-TECHNIK TYP:6261311
SQUARE-D 安全开关 HU364AWK
KOBOLD KAL-KH-24VDC
SWAGELOK SS-45S8-ID-KL-33C
引用 匿名 2008/11/16 17:05:13 发表于2楼的内容
-
-
-
-
-
wilton_gao | 当前状态:离线
总积分:123 2025年可用积分:0
注册时间: 2008-01-16
最后登录时间: 2009-09-29
-
-
wilton_gao 发表于 2008/11/16 20:12:12
引用 wilton_gao 2008/11/16 20:12:12 发表于3楼的内容
-