当前位置: 首页 > news >正文

dw网页制作素材网站兰州优秀网站推广

dw网页制作素材网站,兰州优秀网站推广,江浦网站建设,asp.net网站打不开html页面以下详细描述了一个longin记录设备支持模块编写过程以及用于测试这个模块的IOC的操作步骤#xff1a; 1#xff09;创建一个目录lidriver用于保存这个IOC目录结构#xff1a; orangepiorangepi4-lts:~/epics$ mkdir lidriver orangepiorangepi4-lts:~/epics$ ls example …以下详细描述了一个longin记录设备支持模块编写过程以及用于测试这个模块的IOC的操作步骤 1创建一个目录lidriver用于保存这个IOC目录结构 orangepiorangepi4-lts:~/epics$ mkdir lidriver orangepiorangepi4-lts:~/epics$ ls example lidriver2 进入上一步创建的目录并且使用makeBaseApp.pl脚本创建这个IOC应用程序目录结构和启动目录 orangepiorangepi4-lts:~/epics/lidriver$ makeBaseApp.pl -t ioc lidriver orangepiorangepi4-lts:~/epics/lidriver$ makeBaseApp.pl -i -t ioc lidriver Using target architecture linux-aarch64 (only one available) The following applications are available:lidriver What application should the IOC(s) boot? The default uses the IOCs name, even if not listed above. Application name? orangepiorangepi4-lts:~/epics/lidriver$ ls configure iocBoot lidriverApp Makefile 3 进入lidriverApp/src目录编写设备支持源文件以及对应的支持文件并且编辑对应目录下的Makefile文件 a) devLiRnd.c #include stdlib.h #include stdio.h #include string.h #include time.h #include math.h#include alarm.h #include dbDefs.h #include dbAccess.h #include recGbl.h #include devSup.h #include longinRecord.h #include epicsExport.htypedef struct devData{int upper_limit;int lower_limit; }devData;static int lirand(devData * data) {int ret;int mid data-upper_limit - data-lower_limit 1;ret rand() % mid data-lower_limit;return ret; } /* Create the dset for devLiRnd */ static long init_record(dbCommon *pcommon); static long read_longin(longinRecord *prec);longindset devLiRnd {{5, NULL, NULL, init_record, NULL},read_longin }; epicsExportAddress(dset, devLiRnd);static long init_record(dbCommon *pcommon) {longinRecord *prec (longinRecord *)pcommon;devData * data;if (prec-inp.type ! CONSTANT){recGblRecordError(S_db_badField, prec, devLiRnd(init_record)illegal INP INP field);return S_db_badField;}data (devData *)malloc(sizeof(devData));if (fabs(prec-hihi) 1e-5){data-upper_limit 100;}else{data-upper_limit (int) prec-hihi;}if (fabs(prec-lolo) 1e-5){data-lower_limit 0;}else{data-lower_limit (int)prec-lolo;}srand((unsigned int)time(NULL));prec-dpvt (void *)data;return 0; }static long readLocked(struct link *pinp, void *dummy) {longinRecord *prec (longinRecord *) pinp-precord;long status 0;devData * data (devData *) prec-dpvt;prec-val lirand(data);if (dbLinkIsConstant(prec-tsel) prec-tse epicsTimeEventDeviceTime)dbGetTimeStamp(pinp, prec-time);return status; }static long read_longin(longinRecord *prec) {long status dbLinkDoLocked(prec-inp, readLocked, NULL);if (status S_db_noLSET)status readLocked(prec-inp, NULL);return status; } b devLiRnd.dbd device(longin, CONSTANT, devLiRnd, random) c) 将以上两个文件名添加到相同目录下的Makefile文件中 ...lidriver_DBD devLiRnd.dbdlidriver_SRCS devLiRnd.c...4在idriverApp/Db文件下增加一个数据库实例文件longintest.db并且编辑此路径下的Makefile文件 alongintest.db record(longin, $(P):LiRandom1) {field(DESC, Random Test)field(DTYP, random)field(INP, 1)field(HIHI, 50)field(LOLO, 0)field(SCAN, 1 second) }record(longin, $(P):LiRandom2) {field(DESC, Random Test)field(DTYP, random)field(INP, 1)field(HIHI, 100)field(LOLO, 51)field(SCAN, 1 second) } b) 将上面的文件名添加到Makefile中 DB longintest.db 5) 回到这个IOC的顶层目录lidriver 执行make进行编译。 6进入启动目录iocBoot/ioclidriver编译启动脚本st.cmd #!../../bin/linux-aarch64/lidriver#- You may have to change lidriver to something else #- everywhere it appears in this file envPathscd ${TOP}## Register all support components dbLoadDatabase dbd/lidriver.dbd lidriver_registerRecordDeviceDriver pdbbase## Load record instances dbLoadRecords(db/longintest.db,PTest)cd ${TOP}/iocBoot/${IOC} iocInit 7启动这个IOC用dbl查看加载的记录实例 orangepiorangepi5:/usr/local/EPICS/program/lidriver/iocBoot/ioclidriver$ ../../bin/linux-aarch64/lidriver st.cmd #!../../bin/linux-aarch64/lidriverenvPaths ... ############################################################################ iocRun: All initialization complete ## Start any sequence programs #seq sncxxx,userorangepi epics dbl Test:LiRandom1 Test:LiRandom2 epics 8) 用通道访问命令camonitor查看以上两个记录实例的值 orangepiorangepi4-lts:~$ camonitor Test:LiRandom1 Test:LiRandom2 Test:LiRandom1 2023-08-28 11:15:43.229290 32 Test:LiRandom2 2023-08-28 11:15:43.229302 61 Test:LiRandom1 2023-08-28 11:15:44.229311 6 Test:LiRandom2 2023-08-28 11:15:44.229398 57 Test:LiRandom1 2023-08-28 11:15:45.229424 13 Test:LiRandom2 2023-08-28 11:15:45.229458 75 .... 实录实例Test:LiRandom1和Test:LiRandom2的值每秒钟随机变化一次Test:LiRandom1的变化范围在0~50而Test:LiRandom2的变化范围为51-100。
http://www.hkea.cn/news/14410485/

相关文章:

  • 揭阳高端模板建站头像设计易做图网站
  • 兰州做网站开发最专业企业营销型网站建设
  • phpcms 手机网站手机卡盟网站建设
  • 怎样买网站建设酒泉网站建设培训
  • 英文网站建设szjijie给你网站你会怎么做的
  • 松原市住房和城乡建设厅网站秦皇岛黄金海岸旅游攻略
  • 中国做跨境电商出口的网站做魔方网站用什么背景最好
  • 医院招聘网站建设和维护网站建站怎么分前端和后端
  • 出格做网站怎么样做房产推广那个网站好
  • 网站管理员密码忘记太原做学校网站的公司
  • 公司网站非响应式模板wordpress 增加作者
  • php网站登录系统怎么做金融网站织梦模板
  • 公司做网站的价格哪个网站可以做身份核验
  • 付费网站建设模板什么是ui设计?
  • 大型网站方案东莞网站优化电话
  • 网站建设公司每年可以做多少个网站怎么做企业网站一级悬浮菜单
  • 承德市网站建设网站都是用什么编写的
  • 合肥高端网站建设工作室h5移动网站开发
  • 南宁网站优化公司哪家好网站备案网站类型
  • 找个网站怎么那么难企业网站建设公司电话西安
  • 网站推广活动网站如何换服务器
  • 化妆品设计网站wordpress 添加商品
  • 南康网站建设软件开发公司架构
  • 免费自己制作logo的网站南昌网站建设索王道下拉
  • 天津做网站制作公司国外网站排名 top100
  • 房地产开发商无锡网站推广优化公司
  • 目标网站都有哪些内容哪个行业最容易做网站
  • iis网站后台登不进广告公司做的网站字体侵权
  • 实名制认证网站网站广告图做多大
  • 章丘网站制作谷歌chrome