如果出现初始化失败可能是这个原因:

HI sarvesh ,

thanks for ur response..

the issue is resolved..

friends pls check...

the below registry settings also

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905]

[HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905]

and then give key value..

pls cross check in HKEY_LOCAL_MACHINE for the licenses.. as above

thanks and good luck all...

regards

hasila

DATA: o_obj TYPE ole2_object.  缺失的数据定义。

网上搜索MSCOMM32.OCX

1.将上面的MSCOMM32.OCX保存到系统目录下C:\Windows\SysWOW64\MSCOMM32.OCX

然后注册:REGSVR32 C:\Windows\SysWOW64\MSCOMM32.OCX

2.修改注册表:

REGEDIT

在HKEY_CLASSES_ROOT\Licenses下建一项:

4250E830-6AC2-11cf-8ADB-00AA00C00905

修改数值数据:kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun

重新启动电脑,这样COMM组件就能使用了

以上是在PC上配置的数据。

登陆GUI

T-code: SOLE

新建条目:

OLE 应用程序         MSCOMMLIB.MSCOMM.1

版本号

类标识               {648A5600-2C6E-101B-82B6-000000000014}

CLSID 库类型

OLE 对象名

类型信息键值

包含程序

语言

检查权限

文本

FUNCTION z_bc_get_balance.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     REFERENCE(MODE) TYPE  I DEFAULT 0
*"     REFERENCE(COMMPORT) TYPE  I DEFAULT 1
*"     VALUE(SETTINGS) TYPE  C DEFAULT '1200,N,8,1'
*"     REFERENCE(I_INPUT) TYPE  C OPTIONAL
*"  EXPORTING
*"     REFERENCE(E_OUTPUT) TYPE  C
*"  EXCEPTIONS
*"      NO_CREATE_OBJECT
*"----------------------------------------------------------------------TYPE-POOLS:sabc.INCLUDE ole2incl.DATA pos TYPE i.CLEAR: pos,balance,value,e_output.PERFORM prm_get_settings CHANGING settings.
*  WAIT UP TO 3 SECONDS.PERFORM prm_init.PERFORM prm_open_port USING commport settings.IF mode = 0."读取串口数据PERFORM prm_read_port CHANGING e_output.ELSEIF mode = 1."写串口数据PERFORM prm_write_port USING i_input CHANGING e_output.ENDIF.PERFORM prm_final.SEARCH balance FOR '+'.IF sy-subrc = 0.pos = sy-fdpos.SHIFT balance BY ( pos + 1 ) PLACES.ENDIF.SEARCH balance FOR 'g'.IF sy-subrc = 0.pos = sy-fdpos.balance = balance+0(pos).CONDENSE balance NO-GAPS.e_output = balance.ENDIF.COMMIT WORK
ENDFUNCTION.此块为配置接口类型模块(自建表用IP地址来配置相应的comm口参数)
*****************************************************************************
FORM prm_get_settings  CHANGING p_settings.DATA addr TYPE ni_nodeaddr.CLEAR addr.CALL FUNCTION 'TH_USER_INFO'IMPORTINGaddrstr = addr.SELECT SINGLE setting INTO p_settings FROM zbctaddr WHERE addr = addr.IF sy-subrc = 0.CLEAR addr.ENDIF.
ENDFORM.                    " PRM_GET_SETTINGS初始化接口对象
******************************************************************************
FORM prm_init .DATA:wa_repid LIKE sy-repid.CLEAR wa_repid.wa_repid = sy-repid.CALL FUNCTION 'AUTHORITY_CHECK_OLE'EXPORTINGprogram          = wa_repidactivity         = sabc_act_callapplication      = 'MSCOMMLIB.MSCOMM.1'EXCEPTIONSno_authority     = 1activity_unknown = 2OTHERS           = 3.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.CREATE OBJECT o_obj 'MSCOMMLib.MSComm.1'.IF sy-subrc <> 0.RAISE no_create_object.ENDIF.
ENDFORM.                    " PRM_INIT接口打开
***************************************************************************
FORM prm_open_port  USING commportsettings.SET PROPERTY OF o_obj 'CommPort' = commport.SET PROPERTY OF o_obj 'Settings' = settings.SET PROPERTY OF o_obj 'InputLen' = 0.SET PROPERTY OF o_obj 'PortOpen' = 1.
ENDFORM.                    " PRM_OPEN_PORT读取接口数据:因为接口有缓存所以每次读取时都是去掉前面20次的数据
而且每次读取的数据都是不完整的,所以需要将多次读取的数据连接起来,然后截取
****************************************************************************
FORM prm_read_port  CHANGING e_output.DATA:wa_buffer TYPE i,inde      TYPE i.DO 70 TIMES.inde = inde + 1.GET PROPERTY OF o_obj 'InBufferCount' = wa_buffer.IF wa_buffer > 0.GET PROPERTY OF o_obj 'Input' = e_output.IF inde < 20.ELSE.CONCATENATE balance e_output INTO balance.ENDIF.ENDIF.ENDDO.CLEAR:wa_buffer,inde.
ENDFORM.                    " PRM_READ_PORT往串口写数据,因为没有需求所以没做测试
*********************************************************************
FORM prm_write_port  USING    i_inputCHANGING e_output.DATA:wa_buffer TYPE i.SET PROPERTY OF o_obj 'Output' = i_input.DO 40 TIMES.GET PROPERTY OF o_obj 'InBufferCount' = wa_buffer.IF wa_buffer > 0.GET PROPERTY OF o_obj 'Input' = e_output.EXIT.ENDIF.ENDDO.
ENDFORM.                    " PRM_WRITE_PORT读数结束,关闭串口,释放对象,清空变量
************************************************************************
FORM prm_final .SET PROPERTY OF o_obj 'PortOpen' = 0.FREE OBJECT o_obj.CLEAR o_obj.COMMIT WORK.
ENDFORM.                    " PRM_FINAL

【转载】SAP连接电脑串口读数(电子称,磅等数据读取)相关推荐

  1. SAP连接电脑串口读数(电子称,磅等数据读取)

    这是几年前做的了,一直都不想分享出来,后来想想为了能够给大家点想法,献出来了... 这是一个电脑读称的方法,一般用COMM口连接的电子设备都可参考. 如果是对串口参数不确定的,可以网上找个串口测试工具 ...

  2. ipad如何连接电脑_指纹打卡机如何连接电脑?怎么导出原始考勤数据记录?

    目前很多制造业.工厂.公司.学校.医院.酒店.餐馆.KTV.机关单位等行业都安装使用了指纹考勤机,人脸识别考勤机,有的行业或场所,如煤矿.建筑工地.船厂.车队等仍然在使用IC卡考勤机.不管使用哪种考勤 ...

  3. 在SAP WebClient UI里使用AJAX进行异步数据读取

    For POC purpose I need to implement the AJAX functionality in Webclient UI component. The UI compone ...

  4. 单片机串口连接电脑,USB转TTL线的使用

    注:串口发送数据(USART)是STM32调试中经常使用的功能,但是电脑USB的电平标准与串口所使用的TTL标准不同,所以需要一条USB转TTL线来完成它们之间的通信. 第一步.购买一条USB转TTL ...

  5. linux 串口连接交换机,怎么用串口线连接电脑和交换机 连接步骤教程

    交换机在同一时刻可进行多个端口对之间的数据传输.有时如果要配置网络设备,如路由器和交换机.首先,要使用一根串口线把电脑和网络设备连接起来.再通过专用的软件连接到网络设备上,然后在电脑上对网络设备进行配 ...

  6. 【问题解决】ESP32烧录固件重启后,串口无法连接电脑,反复连接和断开

    开发板:ESP32-DevKitC or NodeMCU 模组:ESP-WROOM-32 问题: 烧录 Hello World 工程的固件运行正常 烧录带WIFI的 station 工程的固件重启后, ...

  7. 关于VM系列振弦传感器读数模块如何连接电脑并进行配置说明

    一.准备工作 1)将 VMXXX 模块的 UART_TTL.RS232(或 RS485)接口与计算机的 COM 端口连接 2)连接振弦传感器及温度传感器到 VMXXX 的对应接口(非必须) 3)连接模 ...

  8. 手机连接电脑用GPRS上网设置方法

    需要工具: 蓝牙适配器 具备蓝牙功能的手机 开通gprs上网功能的sim卡 软件:IVT Corporation 步骤:1安装IVT Corporation,使蓝牙驱动器能被系统识别. 2手机蓝牙为可 ...

  9. 树莓派 —— 连接电脑的两种实用方法

    文章目录 1.Wifi连接 2.使用串口 其实通过电脑连接树莓派控制终端并不难,但是对于新手来说,在不了解的情况下可以说是一头雾水,在我原来刚拿到树莓派时,在网上找了很多博客,想要知道树莓派连接电脑的 ...

最新文章

  1. 2021全国高校计算机能力挑战赛(初赛)C语言试题四
  2. c语言中怎么暂停一个一个游戏,求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束...
  3. Ubuntu apt update(apt-get update)报错、失败
  4. ES6学习笔记(四):教你轻松搞懂ES6的新增语法
  5. C# 生成全球唯一标识符
  6. 学习思考之《编程之美》.
  7. 管理学生信息android,Android 学生信息管理系统-Go语言中文社区
  8. Mac上安装homebrew(类似于Linux上的apt-get)
  9. linux已开机时间,Linux查看系统开机时间
  10. Oracle财务系统常用标准报表
  11. android textwatcher 获取当前控件,Android中AutoCompleteTextView与TextWatcher结合小实例
  12. 抓取知网摘要、搜狗微信文章、搜狗新闻的爬虫
  13. 封锁阳光大学(染色)
  14. win8连连看第二季1_第1季
  15. rover教程_为什么NA​​SA开源Rover
  16. 迭代器怎么就节省内存了?
  17. vscode插件-格式化代码-工具
  18. SAP云上自适应跨可用区高可用方案
  19. python求素数对(质数对)个数
  20. Matlab卷积函数之conv、deconv、conv2、convn

热门文章

  1. A*寻径算法新手入门
  2. 工程材料知识点总结(全)
  3. python 求素数
  4. 多个if····if····语句和else if的区别
  5. 未来的计算机300,【精选】未来在电脑在作文300字三篇
  6. 【体能五项】体能五项训练成绩计算Python实现
  7. 电源部分硬件原理图分享
  8. php+mysql 员工管理系统 学生课设源码
  9. Erlang进程字典底层实现剖析
  10. curl命令常用参数