ES编程
❶ DVP40ES200R型PLC采用哪款编程软件
DVP40ES200R是台达的继电器输出型PLC,使用台达的PLC编程软件,台达的编程软件有WPLsoft和ISPsoft;其中,WPLsoft是线性化的编程软件,和三菱的基本一样,绝大多数使用台达PLC的都使用该编程软件,现在的最新版本是WPLsoft2.20;ISPsoft是台达结构化编程软件,现在的最新版本是ISPsoft1.03,很少人使用此软件编程。
在中达电通网站和台达电子工业股份有限公司网站都有WPLsoft2.20下载。
在网络直接搜索:中达电通
台达电子工业股份有限公司
就能找到网站。
❷ 下载台达DVP-60ES的编程软件哪个网址有得下载
用台达的plc编程软件就可以了,在中达电通的官网上就下载的:http://www.deltagreentech.com.cn/sc/service/dc_software.aspx
❸ 汇编语言编程
1.
DATA SEGMENT
X DB 8
Y DB 6
Z DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AL,X
SHL AL,1
SHL Y,1
ADD AL,Y
SHR AL,1
MOV Z,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
MOV
2.
DATA SEGMENT
ARY1 DB 12,13,16,18,19,20,30,94
ARY2 DB 8 DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,ES:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA SI,ARY1
LEA DI,ARY2
MOV CX,8
CLD
REP MOVSB
MOV AH,4CH
INT 21H
CODE ENDS
END START
3.
DATA SEGMENT
STR1 DB 'SKDJFE2232'
COUNT EQU $-STR1
STR2 DB COUNT DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,ES:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA SI,STR1
LEA DI,STR2
MOV CX,COUNT
CLD
REP MOVSB
MOV AH,4CH
INT 21H
CODE ENDS
END START
4.
data segment
count equ 10
buf db 2,3,5,8,9,10,40,90,4,89
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov si,0
mov cx,count
dec cx
mov al,buf[si]
next:
inc si
cmp al,buf[si]
jna bxy
mov al,buf[si]
bdy:
loop next
mov ah,4ch
int 21h
code ends
end start
❹ 如何使用OpenSL ES在c4droid中进行声音编程
使用opensl es 的前提条件是在源代码中:
#include <SLES/OpenSLES.h>, 包含 opensl es的头文件
在gcc中:
-lOpenSLES 链接 opensl es的库文件
大休步骤如下:
1.创建声音引擎
2.创建声音播放器
3.设置播放缓冲
opensl es 主要操作的是 接口(interface),大体来说有如下几个接口:
SLObjectItf : 对象接口,
SLEngineItf :引擎接口
SLPlayItf:播放接口
SLBufferQueueItf :缓冲队列接口
SLEffectSendItf:音效发送接口
SLMuteSoloItf : 声道关闭 /单声道接口
SLVolumeItf : 声量接口
除了 slCreateEngine 这一条函数是用来创建声音引擎对象接口以外,其它的所有操作都是通过接口的成员函数完成的,现在我们来研究如何初始化声音引擎
初始化声音引擎需要3个接口,我们要将它们声明为全局变量:
SLObjectItf _aud;/* 声音引擎的对象接口 */
SLEngineItf _aud_eng;/* 声音引擎 */
SLObjectItf _aud_mix;/* 混音器对象接口 */
首先我们创建声音引擎的对象接口 :
slCreateEngine(&_aud, 0, NULL, 0, NULL, NULL);
创建之后的接口并不能立即使用,我们首先要通过接口的子函数实现(Realize)它:
(*_aud)->Realize(_aud, SL_BOOLEAN_FALSE);/* 通过_aud的Realize子函数实现声音引擎的对象接口 */
实现之后,我们从声音引擎的对象中抓取声音引擎,在这里我们通过接口的子函数抓取接口 (GetInterface),抓取对像是 _aud, 抓取类型是引擎,抓取后存放的内存位置是我们先前声明的引擎接口_aud_eng的指针位置。指令如下:
(*_aud)->GetInterface(_aud, SL_IID_ENGINE, &_aud_eng);
这样声音引擎就初始化了
第三步我们要做的是从声音引擎中创建 "输出混音器" 对象,这样我们才可以将声音播放出来。
注意,同 声音引擎的对象一样, 由于 "输出混音器" 是对象,我们必须创建后在实现(Realize)它。
由于"输出混音器"创建的同时需要两个音效参数,所以我们先准备好这两个参数:第一个参数类型是声音接口编号(SLInterfaceID),是一个数组,我们可以将其看成一个音效配置列表,在其中放置不同的音效编号。第二个参数是一个逻辑数组:是否强制实现声音接口编号中对应音效,如果某个音效的逻辑为真(SL_BOOLEAN_TRUE),则在无法实现该音效时视为"输出混音器"创建失败,否则将忽略该音效。因为安卓的声硬件对音效的支持不同,所以最好不要强制实现,所以我们在第二个数组中全部填写SL_BOOLEAN_FALSE 。
现在我们开始创建"输出混音器",环境回响(SL_IID_ENVIRONMENTALREVERB )是比较常见的音效,我们将非强制性的使用该音效。
SLInterfaceID effect[1] = {SL_IID_ENVIRONMENTALREVERB}; /*环境回响音效 */
SLboolean effect_bool[1] = {SL_BOOLEAN_FALSE}; /* 回响音效强制实现逻辑 */
(*_aud_eng)->CreateOutputMix(_aud_eng, &_aud_mix, 1, effect, effect_bool);/* 从声音引擎中创建“输出混音器” */
(*_aud_mix)->Realize(_aud_mix, SL_BOOLEAN_FALSE); /* 实现刚创建的“输出混音器” */
样一来,所有的初始化工作就全部完成了。我们获得如下完整代码:
SLObjectItf _aud;/* 声音引擎对象 */
SLEngineItf _aud_eng;/* 声音引擎 */
SLObjectItf _aud_mix;/* 输出混音器对象 */
/* audio_init: 初始化opensl es */
int audio_init ()
{
SLInterfaceID effect[1] = {SL_IID_ENVIRONMENTALREVERB}; /* 音效 */
SLboolean effect_bool[1] = {SL_BOOLEAN_FALSE}; /*音效强制实现逻辑 */
slCreateEngine(&_aud, 0, NULL, 0, NULL, NULL);/* 创建声音引擎对象 */
(*_aud)->Realize(_aud, SL_BOOLEAN_FALSE);/* 实现声音引擎对象 */
(*_aud)->GetInterface(_aud, SL_IID_ENGINE, &_aud_eng);/* 从声音引擎对象中抓取声音引擎 */
(*_aud_eng)->CreateOutputMix(_aud_eng, &_aud_mix, 1, effect, effect_bool);/* 通过声音引擎创建输出混音器对象,并且非强制性的开启环境混响效果 */
(*_aud_mix)->Realize(_aud_mix, SL_BOOLEAN_FALSE);/* 实现混音器对象 */
}
初始化引擎之后, 我们还要创建一个播放器对象,就可以在播放器中输出声音了
播放器对象和输出混音器一样,是对象,创建后需要进行实现:
SLObjectItf _aud_plyobj; /*播放器对象 */
(*_aud_eng)->CreateAudioPlayer(_aud_eng, &_aud_plyobj, &sndsrc, &sndsnk, 3, ids, req);
/* 这是创建声音播放器对象aud_plyobj的函数 */
前两个参数分别把 声音引擎 和 播放器引擎的指针位置填上就可以了
我们真正需要填写的是后面4个参数 :
sndsrc: 声音数据源
sndsnk:声音输出池(data sink),也就是声音输出设备
3:功能清单数目,我们要让播放器支持3种功能
ids: 功能清单,我们要让播放器支持的功能
req:功能强制实现逻辑