SemCreate
- 位置
sys_semaphore.aclib
- 功能说明
创建一个信号量。
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
name | STRING | 信号量名称 | × | ✔ |
value | DWORD | 信号量资源数(同时允许几个任务获取锁。0表示创建成功后不允许被加锁,必须先解锁才可被其它一个任务加锁。) | × | × |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
SemCreate | POINTER TO BYTE | 非0表示成功创建的信号量句柄指针,失败返回0 | × | × |
示例
(例程路径:安装目录\example\信号量)
示例功能说明 创建一个信号量。
变量定义
变量名 数据类型 初值 注释 name STRING value DWORD hSem POINTER TO BYTE CFC示例
ST示例 hSem:=SemCreate( name , value );
LD示例
SemDelete
- 位置
sys_semaphore.aclib
- 功能说明
删除一个信号量。
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
hSem | POINTER TO BYTE | 信号量句柄指针 | × | × |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
SemDelete | DINT | 成功返回0,失败返回-1 | × | × |
示例
(例程路径:安装目录\example\信号量)
示例功能说明 删除一个信号量。
变量定义
变量名 数据类型 初值 注释 hSem POINTER TO BYTE iOpRet DINT CFC示例
ST示例 iOpRet:=SemDelete( hSem );
LD示例
SemPut
- 位置
sys_semaphore.aclib
- 功能说明
解锁一个信号量。
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
hSem | POINTER TO BYTE | 信号量句柄指针 | × | × |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
SemPut | DINT | 成功返回0,失败返回-1 | × | × |
示例
(例程路径:安装目录\example\信号量)
示例功能说明 解锁一个信号量。
变量定义
变量名 数据类型 初值 注释 hSem POINTER TO BYTE iOpRet DINT CFC示例
ST示例 iOpRet:=SemPut( hSem );
LD示例
SemGet
- 位置
sys_semaphore.aclib
- 功能说明
加锁一个信号量。
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
hSem | POINTER TO BYTE | 信号量句柄 | × | × |
timeout | DWORD | 信号量是否阻塞(4294967295:阻塞,其它:超时时间。) | × | × |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
SemGet | DINT | 成功返回0,失败返回-1 | × | × |
示例
(例程路径:安装目录\example\信号量)
示例功能说明 加锁一个信号量。
变量定义
变量名 数据类型 初值 注释 hSem POINTER TO BYTE timeout DWORD iOprRet DINT CFC示例
ST示例 iOpRet:=SemGet( hSem , timeout );
LD示例