公司介绍   产品介绍   技术咨询   联系方式   特别推荐   技术论坛   步进电机原理  
 SH-3SA控制器使用说明
坐标界面及图标
机械分辨率
小键盘的子功能
相关名词解释
回0方式
自动运行方式
数据下载
  SH-3SR控制器模块说明
简介
安装接线
参数设置
键盘功能
定长方式
点动操作
坐标调整
回参考点
数据下载
自动运行

 Basic解释程序
简介
运算符
程序语句
文件命令
输入输出语句
数学函数
画图函数
端口操作
逻辑运算
符号及命令说明 
错误代码
例题
G代码篇(1)
G代码篇(2)

  四海图形输出软件
产品简介
软件安装与硬件接口
菜单介绍
文件操作
机械分辨率设置
Z轴定位及加速曲线速度设置
坐标轴调整
下载操作
自动运行方式
行程开关
往复间隙及速度坐标
发送文件操作
例题
附录

 

逻辑运算

☆逻辑运算 
AND(与)  Or(或)  NOT(非)
在第一节,我们介绍过AND,OR和NOT 怎样用于关系式表达,例如,
100 IF A=C AND NOT (B>40) THEN 60 ELSE 50
AND,OR 和NOT 也可用位(bit)操作按位比较和进行布尔运算。在本节,我们将介绍在使用LEVEL Ⅱ
BASIC 时,这些运算如何执行。但是,我们不准备介绍布尔代数,十进制 ┄┄ 二进制转换,二进制
算术等。
AND,OR 和 NOT 首先把它们的自变量转换成32位数,在-2147483648到+2147483647范围内的,
带符号的补码整数。然后对它们执行指定的逻辑运算,并得到相同范围内的结果。如果自变量不在
此范围内,将产生“FC”(非法调用)错误。
运算是以逐位方式进行的,它的意思是:结果的每一位是以每个自变量的相同位置上的那一位运算
而得到的。
下面的真值表显示了位之间的逻辑关系:
算符
自变量1
自变量2
结果
AND(与)
1
1
1
 
0
1
0
 
1
0
0
 
0
0
0
OR(或)
1
1
1
 
0
1
0
 
1
0
0
 
0
0
0
NOT取反(非)
1
 
0
 
0
 
1

举例:
(下边的所有例子中,二进制数前边的0都不写出,凡注有(2)的数都是二进制,不注的为十进制)
? 63 AND 16 因为63=111111(2),16=10000(2)
16 所以结果为10000(2)=16
? 15 AND 14 因为15=1111(2), 14=1110(2)
14 所以与的结果为1110(2)=14
? -1 AND 8 -1=1111111111111111(2),8=1000(2)
8 所以结果为1000(2)=8
? 4 OR 2 4=100(2),2=10(2)
6 结果为110(2)=6
? 10 OR 10 1010(2)和1010(2)相或结果为1010(2)=10
10
? -1 OR -2 1111111111111111(2)和11111111111111110(2)
-1 相或,得1111111111111111(2)=-1
? NOT 0 16位0(2)的反码是16个1(2)即-1 所以NOT-1=0
-1
NOT X=-(X+1) 这是因为要形成一个数的16位补码,则取它的反码并加1(2)
NOT 1=-2 1的16位反码是11111111111111110(2)它就等于-(1+1)即-2
逐位运算的一个典型应用是对TRS-80的入口处的位进行测试,以便反映某外部设备的状态。

参阅第一节“逻辑算符”。

Abs 函数
ABS 取绝对值。表达式可以是任何数学表达式或常数,下同。-原注 例ABS(L*7)ABS(SIN(X))
Atn 函数
ATN 求反正切(弧度表示)。例:ATN(2.7) ATN(A*3)
Cos 函数
COS 求表达式的余弦,表达式用弧度表示。例:COS(2*A) COS(A/57。29578)
Exp 函数 EXP 取自然指数,即e表达式=EXP(表达式)例:EXP(34.5) EXP(A*B*C-1)
Fix 函数 FIX 取表达式被截尾后的整数(截尾:把表达式的小数部分砍掉)。例:FIX(A-B)
Int 函数 INT 取不大于表达式的整数。例:INT(A+B*C)
Log 函数
LOG 取表达式的自然对数(以e为底)。限制:表达式必须是正数。例:LOG(12.33) LOG(A↑B+B)
Rnd 函数
RND 取(表达式-1)之间的随机数。例:RND(101),表达式>=1
Sgn 函数
SGN 符号函数:表达式为负数时得零时得0;正数时得+1。例:SGN(A*B+3) SGN(COS(X))
Sin 函数
SIN 求表达式的正弦。表达式用弧度表示。例:SIN(A/B) SIN(90/57.29578)
Sqr 函数
SQR 求表达式的平方根。限制:表达式必须是非负数。例:SQR(A*A-B*B)
Tan 函数
TAN 求表达式的正切,表达式是弧度。例:TAN(X) TAN(X*.0174533)
CDBL(X)
取自变量的双精度表示。得到的值有17位,但只有包含自变量的那几位才有意义。
CSNG(X)
取自变量的单精度表示
导出的数学函数
 
函数
由基本函数导出之公式
(正割) = 1 / Cos(X)
(余割) = 1 / Sin(X)
(余切) = 1 / Tan(X)
(反余弦) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
(反正割) = Atn(X / Sqr(X * X - 1)) + Sgn((X) - 1) * (2 * Atn(1))
(反余割) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))
(反余切) = Atn(X) + 2 * Atn(1)
(双曲正弦) = (Exp(X) - Exp(-X)) / 2
(双曲余弦) = (Exp(X) + Exp(-X)) / 2
(双曲正切) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X))
(双曲正割) = 2 / (Exp(X) + Exp(-X))
(双曲余割) = 2 / (Exp(X) - Exp(-X))
(双曲余切) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))
(反双曲正弦) = Log(X + Sqr(X * X + 1))
(反双曲余弦) = Log(X + Sqr(X * X - 1))
(反双曲正切) = Log((1 + X) / (1 - X)) / 2
(反双曲正割) = Log((Sqr(-X * X + 1) + 1) / X)
Inverse Hyperbolic Cosecant = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X)
(反双曲余切) = Log((X + 1) / (X - 1)) / 2
以 N 为底的对数 = Log(X) / Log(N)
   

Pi# 数学常数,近似值为 3.1415926535897932。
为了将角度转换为弧度,请将角度乘以 Pi# /180。
为了将弧度转换为角度,请将弧度乘以 180/Pi#。

(条件语句)
 
IF 表达式1 THEN 语句1 ELSE 语句 2
测试表达式1:如果是真,执行语句1,
  然后跳到下一程序行(除非语句1是GOTO);如果是假,直接跳到ELSE
  语句并执行后边的语句。
  例:IF A=0 THEN PRINT “ZERO”ELSE PRINT “NOT ZERO”
(图示语句)
 
CLS
清除电视显示器
  例:CLS
  图形时清屏(用绘图语句时必须首先使用CLSC)
POINT X(坐标),Y(坐标),Color(显示颜色)
在指定位置上画点
  屏幕分成了128行(水平向),240列(垂直向)象素点
  例:POINT 200,120,0
LINE
画任意两点之间的直线,并且可设置线的宽度
  例:LINE 0,0,200,100,0
  例:LINE X0,Y0,X1,Y1,W,C
  参数: X0 直线起点的x坐标值
  Y0 直线起点的y坐标值
  X1 直线终点的x坐标值
  Y1 直线终点的y坐标值
  W 线宽(0-50)当线宽大于等于50时,是填充矩形
  C 显示颜色
CIRCLE x,y,r,360,c '画圆 x= 圆心的x轴坐标值
CIRCLE C x,y,r,360,c '画圆填充 y= 圆心的y轴坐标值
CIRCLE x,y,r,s,e,c '画弧 s= 起始角度(0-359度)
  e= 终止角度(0-359度)
  r= 圆的半径终点
  c= 显示颜色
(端口操作)
 
INP(端口输入号)
使用方法清参见 ☆端口操作语句一节
OUT(端口输出号)
 
(文件操作)
 
LOAD "文件名"
输入"文件名"指定的程序
SAVE "文件名"
存储"文件名"指定的程序
DEL "文件名" DEL "*.*"删除全部文件
删除"文件名"指定的程序 或 全部文件
DIR
文件名例表
(数的范围)
 
整数
-2147483648到+2147483647
单精度数
-1.701411E+38到+1.701411E+38
双精度数
-1.701411834544556E+38到+1.701411834544556E+338
字符串
最多250个字符
语句标号
1到2147483637
程序行长度
最多250个字符
(动态(运行时)内存分配)  
整变量: 每个7个字节
  (数值4个字,变量名3个字)
单精度变量: 每个7个字节
  (数值4个字,变量名3个字)
双精度变量: 每个11个字节
  (数值8个字,变量名3个字)
字符串变量: 至少8个字节
  (变量名3个字,堆栈和变量指示符5个字,每个字符1个字)
 
金坛市四海电机电器厂
地址: 江苏省金坛市金城工业园施家棚路16号 邮编:213200
电话:(0519)82890109  82892198  82896673   82891018   传真:82894963
技术支持:0519-82895701(刘建中)