shevin

  • Checkout
    • Confirmation
    • Order History
    • Receipt
    • Transaction Failed
  • サンプルページ
Illustration of a bird flying.
  • BCB和Delphi的互用

    原创作者sun28 BCB和Delphi互用是很方便的。特别是在BCB中使用Delphi程序,有时候几乎什么都不用改就可以使用。众多C++程序员一直希望Borland公司能够将VCL用C++改写,就现在地情况来看这个愿望很难有实现的一天。我不知道Borland公司是否有修改的打算,但BCB和Delphi互用的这一特性一直是Borland公司引以为傲的一点之一。从其员工的文章中就可以看出这一点。这也是使用BCB和Delphi的好处之一,因为可以进行代码共享,减少了很多重复性的工作,这无疑是一种创举。也正是这一功能使得程序员在工作的时候可以随意地选择工具(BCB或Delphi)。 BCB和Delphi的特点: Delphi能够最大限度的让程序员容易的生成性能很高的、功能强大的组件、应用程序和对象。 BCB允许程序员运用以灵活,巧妙,功能强大而闻名的C++语言编写程序。 BCB和Delphi代码共享的好处: 程序员可以随意地选择适用的工具(BCB或Delphi)进行编程。BCB和Delphi之间的代码共享让程序员不用担心代码是用什么工具编写的。也不用担心一个工具中编写的代码会不会不别另一个工具所认同。而是集中精力用最快的方法去建立你解决问题的模式。然后在BCB或是Delphi中编译。在BCB中使用Delphi比在Delphi中使用BCB更容易,但她们之间的代码在一定程度上都是可以互用的。 BCB和Delphi的代码共享,促进了代码的重复利用。C++和Pascal有很多共性,使得她们共享代码成为可能。C++编译并不比Pascal快。相反由于BCB中使用的是Pascal编写的VCL,因此BCB生成的应用程序比用Delphi生成的应用程序要稍微大一点。当然这一点在今天来说已经无关紧要。 Delphi使用非常简单,语法简单让程序员更容易理解。这使得公司里的新手可以快速的上手,投入到项目中去。参与项目的程序员可以同时使用BCB和Delphi工作。 由于Delphi简单易使,因此非常适用于一些时间要求紧迫的项目。即使你是使用C++的老手,你也可以在时间紧迫的时候选择Delphi来编制程序。然后你也可以再用BCB来编译他们,如果你想这样干的话。这并不会增加你的工作量。 在BCB中可用的Delphi代码 代码形式 说明 Delphi源代码单元和对象 直接编译 Delphi Form 有的版本可以直接编译,有的需要手工改动 Delphi中的函数,方法,结构等 一般情况下可直接编译 Delphi组件 一般情况下可直接编译 Delphi包 直接编译 Delphi生成的COM,DLL,ActiveX,OLE直接编译 Delphi生成的Obj,lib文件 直接编译 在Delphi中可用的BCB代码 代码形式 说明 BCB源代码单元和对象 需要手工改动 BCB Form 需要手工改动 BCB中的函数,方法,结构等 需要手工改动 BCB组件 需要手工改动 BCB包 ????–没试过! BCB生成的COM,DLL,ActiveX,OLE直接编译,代码共享的主要方式 BCB生成的Obj,lib文件 一定条件下可以,比较麻烦 将Delphi代码变为BCB代码 有时Delphi应用程序与C++ Builder应用程序可能需要相互转换。这种转换虽然费时,但并不困难(顺便说一句,进行转换时,我将Delphi与C++ Builder同时运行)。这里只想介绍将Delphi变为C++Builder的过程,反过来也差别不大。将Delphi变为C++ Builder主要有两步。第一步是将Delphi应用程序窗体复制到C++ Builder项目中,第二步是修改Delphi代码。一般情况下这都是没有必要的,除非你想改写为C++代码。下面详细介绍这两个步骤。: 首先要复制Delphi窗体到C++ Builder应用程序中。Delphi窗体与C++ Builder窗体使用相同的基本格式,但至少有一大差别。显然,窗体文件包含窗体本身和窗体上每个构件的尺寸和位置。但窗体文件中也还包含事件信息。具体地说,窗体文件包括窗体及其构件所建事件处理器的描述。在Delphi窗体文件中,事件引用的事件处理器是Delphi方法,而在C++ Builder窗体文件中,事件指向C++ Builder事件处理器。自然,要删除Pascal引用才能在C++ […]

    December 14, 2023
  • 便捷ddns

    本文将介绍如何使用西部数码的API实现DDNS功能,使您的域名始终指向您的动态IP地址。API介绍:接口地址 https://api.west.cn/API/v2/domain/dns/接口支持两种认证方式1、域名级认证(仅单域名)支持参数 act=dnsrec.update&domain=指定域名&apidomainkey=域名密钥&hostname=完整子域名&record_value=设置的IP域名KEY获取方法,如下图所示,进入管理中心-域名管理-点击域名-右侧上方ApiKey 点击后复制 2、用户级认证 (支持管理多域名)支持参数 act=dnsrec.update&username=用户名&apikey=用户密钥&domain=指定域名&hostname=完整子域名&record_value=设置的IP用户KEY获取 https://www.west.cn/manager/API/APIconfig.asp注意:dnsrec.update接口在更新解析时会删除存在的a记录重新添加,其他api功能可参看 域名API接口文档使用示例:1、群晖NAS先添加自定义服务商服务供应商: westQuery URL: https://api.west.cn/API/v2/domain/dns/?act=dnsrec.update&domain=__USERNAME__&hostname=__HOSTNAME__&record_value=__MYIP__&apidomainkey=__PASSWORD__新增DDNS,选择west 服务商,按截图添加相应的信息 注意:custom 模式下,您需要先在域名解析中添加一条 test.domain.com 的A记录解析。 关于西部数码的域名实现DDNS功能,有不清楚的可以直接通过我司官网在线咨询或提交工单,专业人员将为您解答。

    December 7, 2023
  • 传奇源码对于素材处理

    这个代码,要说好呢,还是有很多的可以学习的地方的,不过很多地方也是实现得比较粗糙。 要对真彩色支持,首先要了解到: 1、它是16位增强色的,是没有调色板的。具体原理后述。 2、它的素材也是针对增强色设计的,字节可直接用于增强色模式,不可直接用于真彩色模式。 认识到了这两点,基本知道该怎么做了。 先说说增强色模式,现在一般的传奇3私服,会提供一个登录器,登录器除了IP代理之外,还有一个作用就是在运行程序时,把电脑设置成增强色模式,不然按现代的机器,真彩色模式运行,把增强色的数据直接当成rgb颜色渲染,会花屏。 增强色用2个字节(WORD)表示一个颜色,r分量占5位,g分量占6位,b分量占5位,共计16位。 因此每个分量有一个位掩码和一个位移码,对这个WORD数据作用掩码和位移,就可以取出对应的分量的颜色值。当电脑在增强色模式下时,这个操作是自动进行的。 取出rgb分量,还是不能将其用于表示rgb,原因是精度不一样导致的数据单位不一样。 真彩色中,一个分量是一个字节,即8位,而增强色中,一个分量是5或者6位。因此,需要做一个缩放。 例如,红色,在真彩色中,r分量是0xff,而在增强色中,r是二进制11111。 因此,r和b分量需要乘以8,g分量需要乘以4。然后,就可以组合成rgb真彩色了。 因为程序的素材本身就不是真彩色的,因此,我们只需要对surface的操作进行真彩色的支持即可。 首先dx设备要设置成32位深度的,然后,对surface的取色彩操作,要认为是直接在取真彩色的数据,并且在取出计算分量时,相应的要除以8,或4,缩放到增强色的空间。对surface的写入色彩操作,要认为是在写真彩色数据,所以要先把WORD的增强色变换到DWORD的真彩色rgb,然后在写入。另外,因为色彩深度不一样,对surface的pitch处理时要考虑到,因为它是以字节为单位的。

    November 29, 2023
  • [论文素材]plc

    基于QT图形视图框架的PLC梯形图编辑器的设计 企业:和利时集团     领域:PLC /PAC/PCC/RTU     领域:智能制造     点击数:2404     发布时间:2021-05-17 16:19:54 分享到: 针对自主可控可编程控制器上位机组态软件的梯形图编程需求,本文设计了一种梯形图语言编辑器。它基于QT下的图形视图框架,对接口进行了二次封装与扩展,实现了梯形图中各组件的创建、绘制与管理等功能。该梯形图编辑器已成功应用于和利时推出的新一代自主可控PLC编程软件平台,为PLC系统的梯形图逻辑组态提供了支持。 1 引言 PLC作为工业控制系统的重要组成部分,是现代工业自动化的重要支柱。2006年,国务院在发布的《国家中长期科学和技术发展规划纲要(2006-2020年)》中提出建设“核高基”重大科技专项,2015年又提出“中国制造2025”。在此背景下,国产化、自主化已经成为PLC市场发展的重要趋势。QT开发框架因其出色的跨平台性和代码开源的特点,成为开发自主可控软件的优良选择。 IEC 61131-3是旨在规范可编程控制器(Programmable Logic Controller,简称PLC)编程语言的国际标准,经过十多年的发展和完善,已被广大PLC使用者和生产厂商所认可和支持[1]。它是国际电工委员会(IEC)定义的PLC编程系统规范,也是工业控制领域的通用标准。梯形图(Ladder Diagram, LD)被称为PLC的第一编程语言,凭借其直观易学的优点,成为最广泛的编程语言[2]。它作为IEC 61131-3规定的PLC编程语言之一,沿袭自继电器控制电路的术语和符号,具有形象、实用等特点,被称为是“面向生产过程的编程语言”。 和利时推出的新一代自主可控编程软件平台AutoThink V4提供了对梯形图语言的编程支持,完整的LD编程组态支持包括前端的编辑和管理,以及后端的编译和执行。本文主要介绍LD前端编辑器的设计和实现。 2 QT下图形视图框架的介绍 2.1 框架组成 图形视图框架(The Graphic View Framework)是QT中基于MVC(Model View Controller)的软件设计模型开发出来的一个图元管理与交互平台。图1为框架的结构图,它由三部分组成: (1)场景(QGraphicsScene) 场景是图元对象存储和管理的容器,也是图元存在的逻辑场所,我们创建的图元只有添加到场景中才能进行显示和操作。 (2)视图(QGraphicsView) 视图是整个框架的对外交互接口,负责将场景中特定区域的内容显示出来。在实际使用中,可以对一个场景只添加一个视图,也可以将多个视图附加到同一个场景来显示其不同区域或不同缩放旋转变换下的状况。 (3)图元(QGraphicsItem) 图元是场景中的最基本元件,单个图元支持各种事件响应,多个图元之间可以生成父子组合等层级关系。 图1 图形视图框架结构 2.2 框架特点 (1)图元管理 QT图形视图架构使用了BSP(二叉空间分割树)的数据结构来组织和管理其中的图元,能够支持大场景下百万数量级别的2D图元的快速查找、排序以及实时显示。 (2)坐标系统 图形视图框架中存在三个坐标系统:场景坐标、视图坐标及图元坐标,每个系统都以自己的中心点为原点分别管理自己的坐标,三套系统之间使用映射来进行坐标转换。 (3)图形渲染 框架设计的坐标系统使每个图元仅需负责自己的图形渲染,图形视图框架基于仿射矩阵变换的运算处理能够快速响应缩放、旋转等高级渲染需求。 除此之外,框架支持图元间的z-order深度排序、碰撞检测,以及动画、OpenGL等高级应用,便于之后的高级应用扩展 。 (4)事件处理 图形视图框架中包含一套事件传播架构,支持对场景中图元进行双精度的精确交互[3] 。 3 LD编辑器在AutoThink V4组态软件中的功能 AutoThink V4是和利时研发的自主可控可编程控制系统的上位机软件,它作为系统中的控制算法组态工具,运行于工程师站中,技术人员通过它来进行现场工程的逻辑设备组态。AutoThink V4基于QT环境进行开发,整体模块结构如图2所示,其中框架管理和变量管理主要负责软件的UI展示与人机交互,IEC组态与硬件配置负责编程语言与硬件模块及协议的组态,数据源通过组态、语法分析、指令翻译等一系列处理,经过编译生成二进制形式的目标文件,最终通过在线模块下发给PLC下位机执行指令。 LD组态模块是IEC组态部分的子模块,分为前端编辑器及后端逻辑转换与处理两部分。梯形图编辑器负责梯形图中元件的创建、删除、选中、绘制、语法检查等管理操作,编辑器中的组态数据经过语法检查无误后,将被LD后端转换为一种预定好的中间语法结构传递给编译模块进行处理,生成目标文件下装到硬件设备端,并在在线监控状态下通过编辑器进行调试。 […]

    November 17, 2023
  • Protected: 明洲记

    There is no excerpt because this is a protected post.

    August 31, 2023
  • 资料

    materialise magics 设备运控部分由西门子plc实现,具体三个电机分别控制供料仓平台升降,打印仓平台升降以及铺粉刮板动作; 实际核心3d打印部分是通过电子枪来调整打印点位的;所以传统运动轴xyz这里都用不上了,这里z是固化死的相对0.05,xy具体点位区域通过电子枪改变磁场实现点的偏移;进一步可推测g代码实际是传送给了电子枪的控制器,实现控制;这样如果要买第三方电子枪必须要拿到对应的控制代码才能实现g代码解析介入。 电子枪如果不开放源码,必须要求电子枪能提供控制接口快速按指令进行xy位置偏转; 除去电子枪部分其他真空管理部分和高压电源管理部分都是可以第三方嵌入的封闭系统,软件开发量几乎可以忽略; 针对电子枪汪博给出两个建议:1.买一套研究拆解实现仿制;2.招三个人,光学电子磁场电子方面的专业人士还得懂材料才可以;另外汪博也提到过国外有6家也可以尝试联系下; 基于现场情况确认,我昨日所发软件规划是没有理解当前枪的市场因素的,是按3做的默认设计,不符合电子枪市场现实;

    August 22, 2023
  • Protected: 记录3

    There is no excerpt because this is a protected post.

    July 30, 2023
  • Protected: 记录2

    There is no excerpt because this is a protected post.

    June 27, 2023
  • Protected: 记录

    There is no excerpt because this is a protected post.

    May 11, 2023
  • [转]相机像素尺寸(像元大小)和成像系统分辨率之间的关系 转载

    相机像素尺寸(像元大小)和成像系统分辨率之间的关系 在显微成像系统中,常常会用分辨率来评价其成像能力的好坏。这里的分辨率通常是指光学系统的极限分辨率以及成像探测器的图像分辨率。最终图像所呈现出的实际分辨率,取决于二者的综合影响。过高的光学分辨率如果没有足够精细的图像分辨率来体现,则实际分辨率会降低到图像分辨率以下;如果相机解析能力过高但光学系统的分辨率低,同样也看不清物体的精细结构。所以在选择相机的时候,我们也不妨根据自己这套系统需要达到的分辨率来综合考虑一下(实操性的结论部分请直接移动到文章最下方)。  1. 光学系统的分辨率 光学系统的分辨率,是指“物”在经过光学系统后的“像”在细节上能被分辨的最小距离。一般我们会用光学系统所能分辨的两个像点的最小距离来表示,大于这个距离的两个像点就能被识别为两个点,而小于这个距离的两个点经过光系统后就会被识别为一个点。而对于黑白图样(荧光样品其实也是一种黑白图样)来说,这个分辨能力也可以用单位距离里内能够分辨的黑白线对数来表示,间隔越宽的黑白条纹越容易分别(想象一下细胞的Lamellipodia和Filopodia的差别)。 图一   从”物”到”像”的失真 存在这个分辨率的原因是因为光学系统的衍射和像差导致从“物”到“像”的过程中会发生“失真”。这种失真是空间上高频信号丢失所导致的(光学系统可以看作是一个空间上的低通滤波器,只能允许一定带宽范围内的空间频率信号通过),通俗的理解就是削弱了由“黑”到“白”过渡的锐度和对比度,使其变得平滑和模糊。下图所示,黑白条纹的真实灰度可以用一个方波信号表示。在经过光学系统之后,如图像 A 和下方波形所示,原始信号被“平滑”,方波的每一个峰都展宽成一个贝塞尔峰,黑白相交处的信号变化斜率下降到一个固定水平(这个斜率的下降就是以该系统带宽所做的滤波效果)。当我们将原始条纹变的密集(增加空间频率),该系统仍以固定带宽进行滤波,这样这些被展宽的峰就会互相交叠,损失重叠部分的对比度从而产生图像B的效果。如果我们换一个带宽更宽的系统 2,其信号的高频部分会被更好的保留,表现为黑白交界处的信号变化斜率更大,对比度也越接近真实情况,如图像 B’。 回归到我们熟悉的生物荧光成像,上述分辨率的概念通过瑞利判据与样品的发射光波长和光学系统的数值孔径相联系起来。即在传统宽场荧光下,光学系统的极限分辨率 d = 0.6λ/NA,波长越短,NA值越大,分辨率越高(可以理解为对空间高频信号的保留越充分)。 2. 相机的图像分辨率 说完了光学系统的分辨率之后我们来看看相机的图像分辨率。图像分辨率比较好理解,就是单位距离内的像用多少个像素来显示。以我们的ORCA-Flash4.0为例,芯片的像元大小为 6.5 μm,在 40X物镜的放大倍率下,1 μm的物经光学系统放大为 40 μm的像,这样的像会由 40/6.5 = 6.15 个像素来显示,所以图像分辨率为 6.15 pixel/μm。反推回实际物体,则图像中的一个像素点表示的实际距离为 1/6.15 = 162 nm (其实就是像元尺寸/放大倍数)。根据这个原理,我们可以得出像元尺寸越小,其图像分辨率越高。 3. 相机采样与光学分辨率的匹配关系 那么要使整个系统达到光学上的极限分辨率,我们要如何选择成像系统使其图像分辨率相匹配呢? 这里还需要借助上图中黑白条纹的例子。图中不管是图像 A,B还是 B‘,其图像在x方向上的灰度都可以用图像下方的波形图来展示。相机的芯片则会在该方向上以像元尺寸为单位距离均匀对曲线作积分,得到每个像素的数值。这个过程就是对一个连续信号的离散采样。因为芯片上的像素以固定的距离排列,所以这个采样在空间上的采样周期 l 对应的就是像元尺寸(更准确的说是两像素中心点的间距,因为需要考虑芯片的填充因子),其频率就是单位距离内像素点的个数。上述黑白条纹图样的空间频率就是白色/黑色条纹重复出现的频率,而其条纹间距就是他们在空间上的周期 d。频率越高,这个周期 d 就越短。根据Nyquist采样定理(可参考:https://www.zhihu.com/question/24490634),我们需要以连续信号最高频率的2倍作为离散采样的频率,才能刚好还原连续信号的特征。因此我们所需要的芯片采样周期 l,就应该小于等于条纹间距 d 的一半。同样类推到相距很近的两个物点也是如此。如此这样一来我们就能够将光学极限分辨率和像元尺寸联系在一起了。对于生物成像系统,光学上的极限分辨率就是荧光信号变化的最大频率所对应的空间周期 d = 0.6λ/NA,因此像元尺寸 l = […]

    April 22, 2023
←Previous Page
1 … 3 4 5 6 7 … 9
Next Page→

shevin

Proudly powered by WordPress