From 1f4a6c06096fbf09685741d918e9cf56e5eeb7ef Mon Sep 17 00:00:00 2001
From: fengjiayi <12821976+ning_xi@user.noreply.gitee.com>
Date: Fri, 11 Oct 2024 19:37:07 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E8=87=AA=E8=BF=B0?=
=?UTF-8?q?=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Library/Api/IFlipflopContext.cs | 6 ++----
README.md | 17 ++++++++---------
2 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/Library/Api/IFlipflopContext.cs b/Library/Api/IFlipflopContext.cs
index 39cdb22..276105d 100644
--- a/Library/Api/IFlipflopContext.cs
+++ b/Library/Api/IFlipflopContext.cs
@@ -15,13 +15,11 @@ namespace Serein.Library.Api
///
FlipflopStateType State { get; set; }
///
- /// 触发传递的数据
+ /// 触发类型
///
- //TriggerData TriggerData { get; set; }
-
TriggerType Type { get; set; }
///
- /// 触发传递的数据
+ /// 触发时传递的数据
///
TResult Value { get; }
}
diff --git a/README.md b/README.md
index 6015247..cf2090c 100644
--- a/README.md
+++ b/README.md
@@ -4,11 +4,9 @@
https://space.bilibili.com/33526379
# 计划任务 2024年9月17日更新
-* (重要+优先)正在实现断点功能,单步执行
+* (重要+优先)正在实现单步执行
* 计划实现节点树视图、IOC容器对象视图
-* 正在计划实现网络方面的通讯,方便传出、传入数据
* 正在计划新增基础节点“属性包装器”,用来收集各个节点的数据,包装成匿名对象/Json类型(暂时未想到如何设计)
-* 正在计划实现对数据传递的包装, 尽可能避免拆箱、装箱,优化传递效率。(可能做不到)
# 如何加载我的DLL?
@@ -37,7 +35,7 @@ https://space.bilibili.com/33526379
* 返回值:自定义,但软件目前不支持接收返回值。
* 描述:当结束/手动结束运行时,会调用所有Dll的Exit方法。使用场景类似于:终止内部的其它线程,通知其它进程关闭,例如停止第三方服务。
* **关于IDynamicContext说明**
- * 基本说明:IDynamicContext是动态上下文接口,内部提供全局单例的IFlowEnvironment环境接口,用以注册、获取实例(单例模式),一般情况下,你无须关注IFlowEnvironment对外暴露的属性方法。除此之外,还有一个用以创建定时循环任务的方法CreateTimingTask,通过该方法可以实现类似于定时器的功能,它的运行周期由运行环境进行管理。
+ * 基本说明:IDynamicContext是动态上下文接口,内部提供全局单例的IFlowEnvironment环境接口,用以注册、获取实例(单例模式),一般情况下,你无须关注IFlowEnvironment对外暴露的属性方法。
## 2. 基础节点
* 待更新
@@ -51,17 +49,18 @@ https://space.bilibili.com/33526379
* **Flipflop - 触发器**
* 全局触发器
* 入参:依照Action节点。
- * 返回值:Task``
+ * 返回值:Task``>`
* 描述:运行开始时,所有无上级节点的触发器节点(在当前分支中作为起始节点),分别建立新的线程运行,然后异步等待触发(如果有)。这种触发器拥有独自的DynamicContext上下文(共用同一个Ioc),执行完成之后,会重新从分支起点的触发器开始等待。
* 分支中的触发器
* 入参:依照Action节点。
- * 返回值:Task``
+ * 返回值:Task``>`
* 描述:接收上一节点传递的上下文,同样进入异步等待,但执行完成后不会再次等待自身(只会触发一次)。
- * IFlipflopContext
+ * IFlipflopContext``
* 基本说明:IFlipflopContext是一个接口,你无须关心内部实现。
* 参数描述:State,状态枚举描述(Succeed、Cancel、Error、Cancel),如果返回Cancel,则不会执行后继分支,如果返回其它状态,则会获取对应的后继分支,开始执行。
- * 参数描述:TriggerData,内部分别有状态描述、触发的参数。触发状态有两种(External外部触发,Overtime超时触发),当你在代码中的其他地方主动触发了触发器,则该次触发类型为External,当你在创建触发器后超过了指定时间(创建触发器时会要求声明超时时间),则会自动触发,但触发类型为Overtime,触发参数未你在创建触发器时指定的值)
- * 使用场景:配合ChannelFlowTrigger``使用,定时从PLC中获取状态,当某个变量发生改变时,会通知持有 Channel``的触发器,如果需要,可以传递对应的数据。
+ * 参数描述:Type,触发状态描述(External外部触发,Overtime超时触发),当你在代码中的其他地方主动触发了触发器,则该次触发类型为External,当你在创建触发器后超过了指定时间(创建触发器时会要求声明超时时间),则会自动触发,但触发类型为Overtime,触发参数未你在创建触发器时指定的值)
+ * 参数描述:Value,触发时传递的参数。
+ * 使用场景:配合 FlowTrigger`` 使用,例如定时从PLC中获取状态,当某个变量发生改变时,会通知相应的触发器,如果需要,可以传递对应的数据。
演示:

