高可靠性的 PHP 通信框架 OHSCE

EDPL_F
PHP 查看源码»
跨平台
2016-09-08
随风星海

OHSCE高可靠性的PHP通信框架-.Open HI-REL Signal Communication Engine

PHP以太网(TCP/UDP/ICMP)、RS232、RS485通信,可广泛直接或桥接各种网络工程通信。 
特别合适于对可靠性要求较高、上位机与末端协同工作的场景。如物联网设备通信、智能化系统、工业与自动化系统、可靠网络服务器、中控&边控&驱动。 
可运行于Windows、Linux、OS X。对Windows提供了全项功能支持,与自动化生态亲和。 
不过分追求高性能,充分平衡了可靠性与高性能。 
天生支持分布式,可大规模部署。 
在保证您的网络可靠性的前提下能跑出强悍的性能。 
过程化函数风格的框架具备高效的特性。 
特别亲切于工业自动化工程师、硬件工程师、物联网工程师、追求效率的PHP工程师的写法风格。 
OHSCE开放源代码,在OHSCE授权协议框架下您可以免费使用!

     *采用高效的多进程模型,进程独立。

     *支持Windows平台串口完美读取(无需指定长度)。

     *支持Windows平台进程守护。

     *支持Windows平台进程间内存通信,小型数据内存中转。

 #即将支持多个进程同时伺服一个端口

快速入门

一、检查环境是否支持OHSCE

系统:Windows / Linux / OSX

          建议:WINDOWSSERVER2008及以上 UbuntuServer14.04LTS及以上

PHP:5.3及以上

          建议PHP5.4及以上

PHP扩展:

           Sockets,Shmop,Curl

二、修改配置文件

           /config/oibc_sce_config.php

三、运行测试程序

3.1工作在以太网上

一个TCP服务端测试程序:

ini_set('memory_limit',"88M");//重置php可以使用的内存大小为64M
set_time_limit(0);
ob_implicit_flush(1);
i n c l u d e('loadohsce.php');
$trya='ohsce_server_Example ';
function example(&$socket,$buf,$len,$zv){  //收到数据时的回调函数
    global $trya;
    echo $buf;
    Ohsce_socketwrite($socket,$trya.'hi '.$buf);
    return true;
}
function exampleaccept(&$socket,$ip,$port,$zv){  //新客户端到访时的回调函数
    global $trya;
    Ohsce_socketwrite($socket,$trya.'Welcome'.$ip.':'.$port);
    return true;
}
Ohsce_eng_socket_server($ohsceserver,'tcp',7626,'127.0.0.1','example','exampleaccept');//创建一个TCP服务端资源 绑定127.0.0.1:7626 并传入回调函数
Ohsce_eng_socket_server_runtcp($ohsceserver); //开始运行

 

对应的客户端测试程序:

ini_set('memory_limit',"88M");//重置php可以使用的内存大小为64M
set_time_limit(0);
ob_implicit_flush(1);
i n c l u d e('loadohsce.php');
Ohsce_eng_socket_client($ohsceclient,'tcp',7626,'127.0.0.1'); //创建一个TCP客户端资源并连接27.0.0.1:7626
echo Ohsce_socketread($ohsceclient['socket'],1024)[1]; //收取欢迎信息
Ohsce_socketsend($ohsceclient['socket'],'hello');  //发送数据
echo Ohsce_socketread($ohsceclient['socket'],1024)[1]; //收取回复数据
sleep(30);

 

UDP:

udpserver:

ini_set('memory_limit',"88M");//重置php可以使用的内存大小为88M
set_time_limit(0);
ob_implicit_flush(1);
i n c l u d e('loadohsce.php');
$trya='ohsce_server_Example ';
function example(&$socket,$buf,$from,$port,$zv){  //收到数据时的回调函数
    global $trya;
    echo $buf;
     Ohsce_socketsend($socket,$trya.'hi '.$buf,0,0,$from,$port);
    return true;
}
Ohsce_eng_socket_server($ohsceserver,'udp',7626,'127.0.0.1','example');//创建一个TCP服务端资源 绑定127.0.0.1:7626 并传入回调函数
@Ohsce_eng_socket_server_runudp($ohsceserver); //开始运行

UDPCLIENT:

 

ini_set('memory_limit',"88M");//重置php可以使用的内存大小为64M
set_time_limit(0);
ob_implicit_flush(1);
i n c l u d e('loadohsce.php');
Ohsce_eng_socket_client($ohsceclient,'udp',7628); //创建一个TCP客户端资源并连接27.0.0.1:7626
Ohsce_socketsend($ohsceclient['socket'],'hello',0,0,'127.0.0.1',7626);
Ohsce_socketrecvfrom($ohsceclient['socket'],$buf,0,0,$from,$port); //收取回复数据
echo $buf.'|'.$from.':'.$port;
sleep(30);

 

3.2工作在工业自动化现场控制网络上

操作串口RS232/485测试程序:

ini_set('memory_limit',"88M");//重置php可以使用的内存大小为64M
set_time_limit(0);
ob_implicit_flush(1);
i n c l u d e('loadohsce.php');
Ohsce_eng_serial_creat($hscecom,"com7"); //OHSCE会默认为你创建一个 9600,n,8,1 写读的串口资源
Ohsce_eng_serial_open($hscecom); //一旦通过该函数成功开启了串口,此串口就被OHSCE进程占用了 此时串口资源变为可用状态
Ohsce_eng_serial_write($hscecom,"01030001000415c9",true);//向串口设备发送数据 以16进制发送
Ohsce_eng_serial_read($hscecom,$data,null,true); // 读取串口数据 返回数据长度为未知 以16进制返回
echo $data; //输出数据
sleep(30);

*内置简单串口服务器(透传):

http://www.ohsce.com/index.php/book/ohscezjcj/OHSCECOMSERVER-QS-101.html

*内置WABAPI串口服务器-WCA:

http://www.ohsce.com/index.php/book/ohscezjcj/OHSCEWCA-QS-103.html

3.3测试使用OHSCE的进程守护

我们先写一个无用的自杀进程:

sleep(60);
exit;

 

编写OHSCE-PCENTER入口文件:

$ohsce_pcenter_pr_name='测试';
$ohsce_pcenter_pr_prun='\pexample.php';
$ohsce_pcenter_memmorykey=6901;//注意 不得与生成器冲突,否则请提前注册。

 

启动并守护这个进程

正式运行使用隐藏窗口模式。

3.4.1CLOUD_API 
3.4.2 CLOUD_MODBUS_DRIVE  通过OHSCE云API数据支持调用本地驱动应用本机串口对MODBUS-RTU设备进行施控。
Ohsce_drive_cloud_modbus($comlink,"RTU","01",'01',"40001","0002"); 

加载中

评论(36)

随风星海
随风星海 软件作者
#OHSCE#现在接受硬件赞助&接受硬件邮寄送测。
随风星海
随风星海 软件作者
#OHSCE#0.2.X版本其实是UI过度版,听取了用户的意见大家都更希望OHSCE更像一个产品原型,那我们就像那个方向迭代。并尽可能的降低对自由度的损失。
随风星海
随风星海 软件作者
#OHSCE#专为工控、物联网、智慧+设计的PHP高可靠性通信框架又多了一个落地案例。
随风星海
随风星海 软件作者
#OHSCE#CLOUD_API现已完成全部版本的MODBUS协议驱动线上化,CJ/T-188-2004即将上线。紧接着,我们将上线10台物联网设备的直接驱动,敬请关注。
随风星海
随风星海 软件作者
#OHSCE#PHP通信框架CLOUDAPI继MODBUS-RTU后MODBUS-ASC/TCP/UDP即将上线。同时0.2.0发布前意见征集开始了。
随风星海
随风星海 软件作者
#OHSCE#0.1.X版本从发布到现在的变化量我觉得是不是可以改0.2.X版本号了
随风星海
随风星海 软件作者
#OHSCE#根据统计2016年WINDOWSSERVER2003依旧拥有18%+的市场占有率(http://www.199it.com/archives/495218.html),OHSCE承诺在WS2003占有率下降到2%之前将始终保持对WS2003系统的支持(即最低支持PHP5.4)
随风星海
随风星海 软件作者
#OHSCE#明天就要上班了,OHSCE项目祝各位开班“快乐”。。。
随风星海
随风星海 软件作者
#OHSCE#刚刚群里通过了一项投票,一共四个选项,最终胜出的是OHSCE将以主体的形式加入UI。这将是一项大比较大的改动,加分若干个版本初步完成,甚至涉及到细微的名字变化。
随风星海
随风星海 软件作者
#OHSCE#祝大家鸡年快乐

OHSCE_V0.2.0.2 发布,跨平台高可靠性通信框架

Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,对Windows友好且同时支持Linux和OS X。对TCP、UDP、ICMP、RS232/485通信,可轻松驾驭各种以太网应用...

2017/06/05 08:52

OHSCE_V0.2.0.1 版本发布,跨平台高可靠性通信框架

Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,对Windows友好且同时支持Linux和OS X。对TCP、UDP、ICMP、RS232/485通信,可轻松驾驭各种以太网应用...

2017/03/15 09:21

OHSCE V0.2.0 发布,跨平台高可靠性通信框架

经历了 0.1.X 的若干个版本的迭代,OHSCE 发生了实质的进展,V0.2.0 版本作为鸡年的首个版本发布了 PS:OHSCE 开发者群投票通过了一项决定,OHSCE 将以(半)主体的形式加入 UI,初步预计 UI...

2017/02/10 10:51

OHSCE_V0.1.27 贺岁发布,跨平台高可靠性通信框架

在鸡年来临之际发布更新,首先祝大家新年快乐:)~ Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,对Windows友好且同时支持Linux和OS X。对TCP、U...

2017/01/24 09:35

OHSCE_V0.1.26发布,跨平台高可靠性通信框架

Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,对Windows友好且同时支持Linux和OS X。对TCP、UDP、ICMP、RS232/485通信,可轻松驾驭各种以太网应用...

2017/01/10 09:05

OHSCE_V0.1.25 发布,跨平台高可靠性通信框架

Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,对Windows友好且同时支持Linux和OS X。对TCP、UDP、ICMP、RS232/485通信,可轻松驾驭各种以太网应用...

2016/12/15 09:44

OHSCE_V0.1.24 Beta,跨平台高可靠性通信框架

Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,对Windows友好且同时支持Linux和OS X。对TCP、UDP、ICMP、RS232/485通信,可轻松驾驭各种以太网应用...

2016/11/22 10:09

OHSCE_V0.1.23 Beta,跨平台 PHP 通信框架

Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,Windows友好且同时支持Linux和OS X。对TCP、UDP、ICMP、RS232/485通信,可轻松驾驭各种以太网应用和...

2016/11/04 10:31

OHSCE_V0.1.22 Beta,跨平台高可靠性通信框架

Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,Windows友好且同时支持Linux和OS X。对TCP、UDP、ICMP、RS232/485通信,可轻松驾驭各种以太网应用和...

2016/10/14 09:39

OHSCE V0.1.21 版本发布,跨平台 PHP 通信框架

Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,Windows友好且同时支持Linux和OS X。对TCP、UDP、ICMP、RS232/485通信,可轻松驾驭各种以太网应用和...

2016/09/26 00:09

没有更多内容

加载失败,请刷新页面

暂无问答

OHSCE入门教程(二)-TCP/UDP应用

PHP的SOCKET解决方案,通过OHSCE构建TCP/UDP应用。

2016/11/17 17:22
63
0
OHSCE入门教程(三)-PHP串口通信、构建高可靠性的总线应用。

(写于OHSCE_V0.1.25) 终于等到这篇文章了吧,其实之所以先写了TCP/UDP的是因为在现在的环境下它俩是相辅相成的,其实在控制领域我们所说的TCP/UDP和串口总线应用非常接近,和普通的互联网网...

2016/12/20 16:52
201
0
OHSCE入门教程(一)-高可靠性PHP通信&控制框架

使用PHP技术搭建可靠灵活的工业控制工程网络,可广泛应用于物联网设备通信、智能化系统、工业与自动化系统、可靠网络服务器等场景。

2016/10/19 17:33
539
4
收藏了8年的PHP优秀资源,都给你整理好了

以下是我整理好的 PHP 资源,各位看官拿去用,不用再自己找了。 每周在 GitHub 上更新,觉得不错请点个 Star ❤️ 如转载分享,请保留出处,谢谢 😆 原文地址: https://shockerli.net/pos...

01/30 19:32
16
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部