互斥量
SemaphoreCreate
- 位置
sys_mutex.aclib
- 功能说明
创建一个互斥量。
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
name | STRING | 互斥量名称 | × | ✔ |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
MutexCreate | POINTER TO BYTE | 非0表示成功创建的互斥量句柄指针,失败返回0 | × | × |
示例
(例程路径:安装目录\example\互斥量)
示例功能说明 创建一个互斥量。
变量定义
变量名 数据类型 初值 注释 name STRING hMutex POINTER TO BYTE CFC示例
ST示例 hMutex := MutexCreate( name );
LD示例
MutexDelete
- 位置
sys_mutex.aclib
- 功能说明
删除一个互斥量(删除互斥量前必须确保无任何进程使用,否侧可能出现控制器异常。)。
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
hMutex | POINTER TO BYTE | 互斥量句柄指针 | × | × |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
MutexDelete | DINT | 成功返回0,失败返回-1 | × | × |
示例
(例程路径:安装目录\example\互斥量)
示例功能说明 删除一个互斥量。
变量定义
变量名 数据类型 初值 注释 hMutex POINTER TO BYTE iOpRet DINT CFC示例
ST示例 iOpRet := MutexDelete( hMutex );
LD示例
MutexPut
- 位置
sys_mutex.aclib
- 功能说明
解锁一个互斥量。
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
hMutex | POINTER TO BYTE | 互斥量句柄指针 | × | × |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
MutexPut | DINT | 成功返回0,失败返回-1 | × | × |
示例
(例程路径:安装目录\example\互斥量)
示例功能说明 解锁一个互斥量。
变量定义
变量名 数据类型 初值 注释 hMutex POINTER TO BYTE iOpRet DINT CFC示例
ST示例 iOprRet := MutexPut( hMutex);
LD示例
MutexGet
- 位置
sys_mutex.aclib
- 功能说明
加锁一个互斥量。
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
hMutex | POINTER TO BYTE | 互斥量句柄指针 | × | × |
wait_option | DWORD | 互斥量是否阻塞(0:不阻塞,1:阻塞) | × | × |
inherit属性值如下:
名称 | 值 | 含义 |
---|---|---|
MUTEX_NO_WAIT | 0 | no wait |
MUTEX_WAIT_FOREVER | 1 | wait forever |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
MutexGet | DINT | 成功返回0,失败返回-1 | × | × |
示例
(例程路径:安装目录\example\互斥量)
示例功能说明 加锁一个互斥量。
变量定义
变量名 数据类型 初值 注释 hMutex POINTER TO BYTE wait_option DWORD MUTEX_WAIT_FOREVER(阻塞) iOprRet DINT CFC示例
ST示例 iOpRet := MutexGet( hMutex , wait_option );
LD示例