发表于:2003-07-05 22:43:00
1楼
我觉得转换主要是看计算精度的要求。
例如:收到一个模拟信号
AIW0=2#10110(10#22;16#16)
它是个整数。
整数传送到vw0
转换成双整数到vd2
转换成实数到vd6
这时若要把这个数除以7再乘以10结果是3.1428571428571428571428571428571
那么只有用实数的计算可以得到
3.142857
整数双整数的结果都是3
由此可见……
下面是一个解释整数双整数实数(急停中断)不太恰当的实例。作用是控制步进电机。程序没有完全编好。但基本思路已经写完。大家可以下载调试。请有心人给个忠实意见。
NETWORK 1
//
//主程序注释
//按 F1 获得帮助及举例程序
//
LD SM0.1
CALL SBR_0
NETWORK 2
LD I0.3
EU
CALL SBR_1
NETWORK 3
LD SM66.7
= Q0.5
NETWORK 4
LD SM166.0
= Q0.4
NETWORK 5
LD SM166.1
= Q0.3
//
//SBR_0子程序注释
//按 F1 获得帮助及举例程序
//
NETWORK 1
LD SM0.0
MOVB 16#A8, SMB67
MOVB 3, VB500
MOVW +500, VW501
MOVW -2, VW503
MOVD +240, VD505
MOVW +20, VW509
MOVW +0, VW511
MOVD +500, VD513
MOVW +20, VW517
MOVW +4, VW519
MOVD +120, VD521
MOVB 1, VB490
MOVW VW13, VW493
MOVD +860, VD486
NETWORK 2
LD SM0.0
MOVB 16#F8, SMB37
HDEF 0, 0
MOVD +0, SMD38
MOVD +0, SMD52
HSC 0
ATCH 启动中断, 2
ATCH 急停禁止, 19
ENI
//
//SBR_1子程序注释
//按 F1 获得帮助及举例程序
//
NETWORK 1 //网络题目 (单行)
//
//网络注释
//
LD SM0.0
MOVW VW5, VW501
MOVW VW7, VW503
MOVW VW9, VW509
MOVW VW9, VW517
MOVW VW11, VW519
MOVW VW13, VW493
NETWORK 2 //计算启动步数
//
LD SM0.0
MOVW VW9, AC0
AENO
-I VW5, AC0
AENO
MOVW AC0, VW507
AENO
DIV VW7, VD505
AENO
MOVW +0, VW505
NETWORK 3 //计算降速步数
//
LD SM0.0
MOVW VW5, AC0
AENO
-I VW9, AC0
AENO
MOVW AC0, VW523
AENO
DIV VW11, VD521
AENO
MOVW +0, VW521
NETWORK 4 //计算运行步数
//
LD SM0.0
MOVD VD1, VD513
AENO
-D VD505, VD513
AENO
-D VD521, VD513
//
//启动中断程序注释
//按 F1 获得帮助及举例程序
//
NETWORK 1 //网络题目 (单行)
//
//网络注释
//
LD SM0.0
HSC 0
MOVW +500, SMW168
ATCH 急停中断, 4
PLS 0
DTCH 2
//
//急停中断程序注释
//按 F1 获得帮助及举例程序
//
NETWORK 1
LD SM166.0
AN SM166.1
LPS
MOVW VW503, AC0
AENO
*I -1, AC0
AENO
*D HC0, AC0
AENO
MOVW VW501, VW491
-I AC0, VW491
LPP
MOVW -1, AC0
AENO
*I VW503, AC0
AENO
MOVW VW493, AC1
AENO
/I AC0, AC1
AENO
MOVD HC0, VD495
AENO
/D AC1, VD495
AENO
MOVW +0, VW495
NETWORK 2
LD SM166.0
A SM166.1
LPS
MOVD VD505, AC0
AENO
+D VD513, AC0
AENO
INVD AC0
AENO
INCD AC0
AENO
+D HC0, AC0
AENO
*I VW519, AC0
AENO
MOVW VW9, VW491
+I AC0, VW491
LPP
MOVD VD486, AC0
AENO
-D HC0, AC0
AENO
*I VW519, AC0
AENO
MOVW AC0, VW497
AENO
DIV VW493, VD495
AENO
MOVW +0, VW495
NETWORK 3
LDN SM166.0
A SM166.1
MOVW VW509, VW491
MOVW VW501, AC0
AENO
-I VW509, AC0
AENO
MOVW AC0, VW497
AENO
DIV VW493, VD495
AENO
MOVW +0, VW495
NETWORK 4
LD SM0.0
R SM67.7, 1
PLS 0
MOVB 16#A8, SMB67
MOVW +490, SMW168
PLS 0
DTCH 4
ATCH 启动中断, 2
//
//急停禁止中断程序注释
//按 F1 获得帮助及举例程序
//
NETWORK 1 //网络题目 (单行)
//
//网络注释
//
LD SM0.0
DTCH 4
ATCH 启动中断, 2