pb9 mswinsck.ocx 难题

onlymir2 2020-03-21 09:36:44
用pb 的mswinsck控件连接一台医疗设备HL7协议,调试程序debug时都能把传输的数据接过来,直接跑程序去传输不过来,百思不得其解。其中有写日志的代码,在文件夹里能查询到数据源日志有数据传过来。请高人指点

String ls_receiver,ls_data,ls_temp,ls_graphall,ls_graph,ls_outdata,ls_xx
String lns_string[]
Long ll_num,ll_i,ll_at,ll_length,ll_j
string ls_sour1,ls_sour2,ls_sour3

winsock.Object.GetData(ref ls_receiver)

is_tempstr = ls_receiver
//messagebox('is_tempstr',is_tempstr)


IF cbx_1.Checked THEN
gf_write_log(is_deviceid,'receive-->'+ls_receiver)
END IF



//入库
if pos(is_tempstr,'M') > 0 then
insert into l_source (soufull , deviceid,ComputerName ) values (:is_tempstr,:is_deviceid,:Gs_ComputerName) ;
commit ;
gf_write_log(is_deviceid + '-original',is_tempstr)//写源数据日志
is_tempstr = '' //置空
end if
...全文
584 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
AndriyChoi 2020-03-25
  • 打赏
  • 举报
回复
HL7协议传输数据并不一定是同时传过来的
你要根据结束符去判断数据的完整性,否则数据不完整,解析就有问题
WMERP 2020-03-24
  • 打赏
  • 举报
回复
楼主意思是一步一步DEBUG执行时可以,让运行时自动连续执行就没有数据,应该是winsock.Object.GetData(ref ls_receiver) 异步执行了,不等待 ls_receiver 返回结果就往下跑了。
longdrang 2020-03-24
  • 打赏
  • 举报
回复
日志里显示是有数据的吗?
onlymir2 2020-03-24
  • 打赏
  • 举报
回复
昨天后来改了下winsock的dataarrival事件的一个代码以前是pos(is_temp,'M')后来改成pos(is_temp,char(77))
WMERP 2020-03-24
  • 打赏
  • 举报
回复
按道理PB应该不会出现android那样的函数运行后不等执行完成就直接往下一步代码进行,你可以在页面输出那里设置下等待看看是不是等待执行的,先把 ls_receiver="" 然后 winsock.Object.GetData(ref ls_receiver)前加入一个datetime输出到文本框1,winsock.Object.GetData(ref ls_receiver)后加入一个datetime输出到文本框2,再写一个 do while ls_receiver="" Yield ( )

loop 再加入加入一个datetime输出到文本框3 , 看看是不是等待完成才执行后面的,如果不是的化就需要进行等待了
WMERP 2020-03-23
  • 打赏
  • 举报
回复
看你的代码应该只有if pos(is_tempstr,'M') > 0 then 这里可能有问题,返回的数据不一定有大写M
onlymir2 2020-03-23
  • 打赏
  • 举报
回复
引用 1 楼 WMERP的回复:
看你的代码应该只有if pos(is_tempstr,'M') > 0 then 这里可能有问题,返回的数据不一定有大写M
我debug到这里没问题,有M值的,就是单步debug没问题,就是直接运行程序时就过不来数据
内容概要:本文围绕基于分布鲁棒优化的风电不确定性机组组合问题展开研究,提出了一种能够有效应对风电出力不确定性的数学模型与求解方法。通过构建分布鲁棒优化模型,充分考虑风电预测误差的概率分布特征及其不确定性集合的数学表达,在保障电力系统安全运行的前提下,优化发电机组的启停计划与出力分配,从而提升调度方案的经济性与鲁棒性。文中系统阐述了模型的理论基础、不确定性集合的构造方式、目标函数与约束条件的设计,并结合Matlab代码实现了算法仿真与案例验证,展示了该方法在不同场景下的适应能力与性能优势。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力,从事新能源并网调度、电力系统运行优化、能源系统建模等方向的研究人员、高校研究生以及相关领域的工程技术开发者。; 使用场景及目标:①应用于高比例可再生能源接入背景下的电力系统机组组合决策,增强调度方案对风电波动的抵御能力;②为电力市场环境中的发电计划编制与日前调度提供科学依据和技术支持;③作为分布鲁棒优化理论在能源系统不确定性建模中应用的教学与科研案例,推动相关算法的推广与改进。; 阅读建议:建议读者结合Matlab代码深入理解模型构建与求解流程,重点关注不确定性集的设定逻辑、鲁棒性参数的选择以及算法实现细节,可进一步拓展至多能源耦合系统或多时间尺度调度场景的研究。
内容概要:本文提出了一种结合蒙特卡洛模拟与拉格朗日松弛法的分散式优化方法,用于解决电动汽车充电站在分时电价机制下的有序充电调度问题。通过蒙特卡洛方法模拟电动汽车充电行为的随机性,生成多场景充电负荷数据,并构建以降低电网负荷波动和用户充电成本为目标的优化模型。采用拉格朗日松弛法对问题进行解耦,实现各电动汽车在保护用户隐私的前提下自主参与调度决策,有效提升了计算效率与实际应用可行性。仿真实验验证了该方法在削峰填谷、减少用户电费支出以及增强电网运行稳定方面的优越性能; 适合人群:具备电力系统优化、智能交通系统、运筹学或能源管理等相关背景的研究生、科研人员及工程技术人员; 使用场景及目标:①应用于城市规模化充电站集群的分散式调度系统设计与优化;②研究分时电价政策下用户充电行为与电网负荷之间的互动响应关系;③为高比例电动汽车接入场景下的电网协同控制提供算法支持与仿真验证平台; 阅读建议:读者应结合提供的Matlab代码,深入理解蒙特卡洛场景生成与拉格朗日松弛算法的实现逻辑,建议在复现过程中调整电价策略、用户数量等关键参数,观察其对调度效果的影响,并可进一步拓展至多目标优化框架或引入可再生能源出力不确定性进行联合建模研究。

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧