简介

当您做好了分控,在总控的时候,一个方法可以把分控的代码复制粘贴到总控程序,也可以使用
call_in或者 call 指令来调用分控程序

call和call_in区别

这两个函数可以在当前程序中调用其它程序,只需要通过程序的控制代码进行调用,区别是:
call 是打开新的线程运行要调用的程序,然后立刻运行当前程序后面的代码.
call_in 是在当前程序中运行要调用的程序,调用的程序运行完毕后,继续运行程序后面的代码.

call是不阻塞的,不等待被调用的程序执行完毕,就立刻运行下一行代码.
call_in是阻塞的,并等待被调用的程序执行完毕,才会运行下一行代码.

当你不知道用那个指令时,建议用 call_in

call_in调用程序

2023-09-12T04:51:56.png

调用多个程序

如果有多个程序调用,一行调用一个就可以了,如下图(系统总开)

 call_in("21370807.tsk");  --会议LED 配电柜电开
 sleep(5); --延时5秒
 call_in("13567434.tsk");  --时序电源全开
 sleep(2); --延时2秒
 call_in("21370203.tsk");  --打开电脑

中控之间调用程序

N台中控的WAN口连入相同的局域网,配置了不同IP后,中控之间是可以相互调用程序,直接使用API接口,UDP或tcp调用即可,指令:
upd.send("ip",8800,"xxx.tsk");
其中ip是被调用中控的IP地址,端口8800是固定的,xxx.tsk是要调用的程序的APPID,例如 21290219.tsk.

API接口

中控编写好程序后,可以通过多种模式进行程序的触发运行,例如 socket
udp/tcp/http/ws/js/mqtt/串口/RS232/RS485 触发,其中最常用简便的方式是通过
SimFAS APP Maker 自行制作用户 SimAPP 界面,下载到 ipad, android 平板,或者
Windows 电脑里进行控制. 其中用户可以自行对接自己的 APP 和程序.例如常见
的 Unity3D,C#,Java,object C, js,H5 等各类支持 tcp/udp/http/js/ws 的编程语言.

第三方程序/硬件调用中控程序原理是: 向中控IP的8800端口发送APPID字符串 ASCII,便可启动对应程序.
中控是服务器端(server),支持的网络协议如下:

网络协议端口字符编码备注
TCP8800APPID (ASCII)例如:21290219.tsk
UDP8800APPID (ASCII)支持广播
HTTP8800APPID (base64)GET
Websocket8088ASCII使用库SimAPI_dev_ws.js

多条指令发送格式:

多条指令之间使用 回车换行符 \r\n 分隔,最后一条指令后也应包含 \r\n(可选,但推荐)。

示例:

1000.tsk\r\n2001.tsk\r\n3000.tsk\r\n

在实际发送时,应将字符串编码为字节流(UTF-8)后通过 UDP 发送。


API示范例子

2025-01-31T05:05:49.png

通过TCP/UDP,向中控的8800端口发送字符串99813384.tsk便可执行 灯光全关
通过TCP/UDP,向中控的8800端口发送字符串99807112.tsk便可执行 灯光全开

SDK协议下载

更详细api sdk可以查阅 SimFAS_SDK_API.pdf

例子

第三方软硬件,调用中控程序 协议例子 10个典型功能指令示例

  • 协议: TCP/UDP
  • 端口号:8800 (中控是TCP/UDP服务器端)
  • 编码: ASCII (UTF-8)
  • 格式: xxxxxxxxx.tsk
    其中xxxxxxxxx 为任意1-9个字符串, .tsk是固定尾部 ,
    如需多个指令一起发,每个指令后加回车换行\r\n
  • 详细例子
编号ASCII指令功能说明
11000.tsk所有灯光关闭
21001.tsk所有灯光开启
31101.tsk区域A灯光开启
41201.tsk区域B灯光开启
51100.tsk区域A灯光关闭
62001.tsk空调系统启动(默认模式)
72000.tsk空调系统关闭
83001.tsk安防系统布防
93000.tsk安防系统撤防
104001.tsk音响系统播放背景音乐
11xxxx.tsk更多功能,xxxx为任意字符串

自定义APPID识别码

在新建程序的时候,更多选项可以自定义,例如 1000.tsk
2025-11-04T08:07:00.png

~调用程序 总控,调用,一键开机,一键关机~