工资管理系统 1、系统功能的基本要求:  员工每个工种基本工资的设定  加班津贴管理,根据加班时间和类型给予不同的加班津贴;  按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;  员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12;  企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印; 2、数据库要求:在数据库中至少应该包含下列数据表:  员工考勤情况表;  员工工种情况表,反映员工的工种、等级,基本工资等信息;  员工津贴信息表,反映员工的加班时间,加班类别、加班天数、津贴情况等;  员工基本信息表  员工月工资表。 3、本课题设计的基本要求: (1) 必须提交系统分析报告,包括系统的功能分析、系统的功能模块设计、数据库的数据字典,数据库的概念结构(E-R图),数据库中的表、视图(如果使用)、存储过程(如果使用)的结构和定义(可以用SQL脚本提供); (2) 程序设计的报告:包括程序的运行环境、开发环境、程序的详细设计(包括模块之间的关系,模块的功能、主要功能实现的程序段) (3) 系统的源程序,包括数据库脚本程序。
2024-07-11 09:40:54 124KB 工资管理系统 wampserver
1
《ANSYS二次开发及应用实例详解》是一本深入探讨ANSYS软件高级使用的书籍,主要针对ANSYS的用户子程序进行详细解析。这本书的核心价值在于它提供了可以直接编译通过的源程序代码,这对于学习和理解ANSYS的二次开发至关重要。下面我们将深入探讨ANSYS的二次开发及其相关知识点。 一、ANSYS简介 ANSYS是一款广泛应用的多物理场仿真软件,能够模拟结构力学、热流体、电磁学、声学等多种工程问题。它的强大功能和灵活性使其成为工程师进行复杂工程分析的重要工具。 二、ANSYS二次开发基础 1. 用户子程序:ANSYS允许用户通过编写自己的子程序来扩展其功能,如用户定义的材料模型、求解器算法、后处理等。这些子程序通常用Fortran语言编写,可以通过ANSYS的User Element (UEL)、User Material (UMAT)、User Subroutine (USUB)等方式实现。 2. API接口:ANSYS提供了一套完整的应用程序编程接口(API),包括APDL(ANSYS Parametric Design Language)和C++ API,使得用户可以自定义工作流程和界面,实现自动化和定制化分析。 三、二次开发实例 1. 用户元素(UEL)开发:通过创建用户定义的有限元单元,解决特定结构或非标准几何形状的问题。例如,可编写用于模拟复杂材料行为或特殊结构的UEL。 2. 用户材料(UMAT)开发:当标准材料模型无法满足需求时,可以编写UMAT定义新的材料属性,如蠕变、疲劳、塑性等复杂行为。 3. 用户子例行程序(USUB):用于自定义计算流程,如载荷施加、边界条件设置等,以适应特定的工程场景。 四、学习资源与实践 《ANSYS二次开发及应用实例详解》一书提供了丰富的实例,这些实例覆盖了ANSYS二次开发的多个方面。通过书中提供的源代码,读者可以直接在ANSYS环境中运行并理解每个例子的工作原理,从而快速掌握二次开发技巧。 五、开发环境与编译 使用ANSYS Workbench集成开发环境,结合ANSYS的开发工具如ANSYS MAPDL,可以方便地编辑、编译和调试用户子程序。同时,理解ANSYS的编译规则和过程是成功实现二次开发的关键。 六、应用领域 ANSYS二次开发广泛应用于航空航天、汽车、能源、电子等多个行业,能够解决各种复杂的工程问题,如优化设计、多物理场耦合分析等。 总结,ANSYS的二次开发是提高仿真效率、解决特定问题的有效途径。《ANSYS二次开发及应用实例详解》为学习者提供了宝贵的实战资源,通过深入学习和实践,可以进一步提升对ANSYS软件的掌控力,从而在工程分析中发挥更大的效能。
2024-07-11 08:23:42 988KB ansys
1
AD8302是一款完全集成式系统,用于测量多种接收、发射和仪器仪表应用中的增益/损耗和相位。它只需极少的外部元件,采用2.7 V至5.5 V单电源供电。在50 Ω系统中,交流耦合输入信号范围为–60 dBm至0 dBm,低频高达2.7 GHz。这些输出在±30 dB的范围内提供精确的增益或损耗测量,调整比例为30 mV/dB,相位范围为0°–180°,调整比例为10 mV/度。两个子系统都具有30 MHz的输出带宽,可通过增加外部滤波器电容来降低该带宽。AD8302可在控制器模式下使用,驱动信号链的增益和相位达到预定设定点。 AD8302包括一对紧密匹配的解调对数放大器,每个放大器具有60 dB测量范围。通过提取其输出之差,可测量两个输入信号之间的幅值比或增益。这些信号甚至处于不同的频率下,以便测量转换增益或损耗。通过在一个输入上施加未知信号并在另一个输入上施加校准的交流基准信号,AD8302可用于确定绝对信号电平。通过禁用输出级反馈连接,可使用设定点引脚MSET和PSET实现比较器,从而设置阈值。 信号输入采用单端模式,可将其直接匹配并连接到定向耦合器。在低频下,其输入阻抗为3
2024-07-10 20:10:16 3.8MB
1
ACNet:通过非对称卷积块增强强大的CNN的内核骨架ACNet ICCV 2019论文:ACNet:通过非对称卷积块增强强大的CNN的内核骨架 其他实现:PaddlePaddle重新实现以构建ACNet和转换权重已被PaddlePaddle官方仓库接受。 @ parap1uie-s的出色工作! Tensorflow2:一个简单的插件模块(https://github.com/CXYCarson/TF_AcBlock)! 只需使用它来构建模型,然后调用deploy()即可将其转换为推理时结构! @CXYCarson的惊人作品
2024-07-10 17:38:53 145KB Python Deep Learning
1
**指针式万用表电路仿真与讲解教程** 在电子工程和电气技术领域,了解和掌握万用表的使用是至关重要的。指针式万用表作为传统的测量工具,能够测量电压、电流和电阻,是电路分析和故障排查的基础设备。本教程将通过Multisim这一强大的电路仿真软件,详细介绍如何构建和仿真指针式万用表电路,以加深对万用表工作原理的理解。 Multisim是一款广泛应用于教育和工业界的电路设计和仿真软件,它提供了直观的图形化界面,使用户可以轻松搭建电路,并进行实时仿真,观察电路的动态行为。在本教程中,我们将利用Multisim的特性,模拟指针式万用表在交流(AC)、直流(DC)和欧姆测量模式下的工作状态。 我们将构建基础的指针式万用表电路,包括电流表头、分压电阻网络和选择开关。电流表头是万用表的核心部件,它具有高内阻,能直接连接到被测电路而不影响其正常工作。在AC/DC模式下,我们需要考虑交流电流和直流电流的差异,选择合适的表头和耦合方式。在Multisim中,我们将设置不同的电压源,模拟不同类型的输入信号,观察指针的偏转情况。 接着,我们会转向欧姆表的仿真。欧姆表是通过内部电池和固定电阻来测量电阻的。在Multisim中,我们需要设定内部电池的电压,然后通过开关切换到欧姆测量模式。当选择欧姆测量时,表头与待测电阻并联,通过表头的偏转读取电阻值。在这个过程中,我们将学习如何调整内部电阻,以适应不同量程的测量需求。 在仿真过程中,我们还将讨论以下关键知识点: 1. **电路元件的选择与配置**:理解如何正确选择电流表头、分压电阻和开关,以及它们在电路中的作用。 2. **电流与电压的转换**:探讨如何通过电阻网络将电流信号转换为电压信号,以便于表头的读取。 3. **测量误差分析**:分析电路设计可能引入的测量误差,如非线性响应、读数精度等。 4. **仿真技巧**:学习如何使用Multisim进行电路分析,如使用虚拟仪表进行实时测量,使用示波器查看波形等。 5. **安全注意事项**:强调在实际操作中使用万用表的安全规则,如正确选择量程、避免短路等。 通过这个实践教程,读者不仅可以深化对指针式万用表工作原理的理解,还能提升在Multisim中的电路设计和仿真技能。对于电子工程初学者和专业技术人员来说,这是一次极好的学习和提高的机会。通过实际操作,你将能够更好地应对各种电路测量任务,为你的学习和职业生涯奠定坚实的基础。
2024-07-10 16:49:22 1.93MB 开发技术
1
此代码演示了论文中的矢量化概念 Immanuel Anjam,Jan Valdman:2D和3D中FEM矩阵的快速MATLAB组装:边缘元素。 应用数学与计算 267, 252–263 (2015) 我们扩展了论文中的技术 Talal Rahman 和 Jan Valdman:2D 和 3D 中 FEM 矩阵的快速 MATLAB 组装:节点元素,应用数学和计算 219, 7151–7158 (2013) 使用边缘元素快速组装 FEM 矩阵 - 用于 Hdiv 问题的 Raviart-Thomas 元素和用于 Hcurl 问题的 Nedelec 元素。 此外,还添加了矢量化的高阶正交。 可以在位于http://sites.google.com/site/janvaldman/publications的作者网页上找到该论文的链接如果您发现代码有用,请引用论文。 要比较组装时间,请调用
2024-07-10 16:43:45 65KB matlab
1
在IT行业中,安全性和隐私保护是至关重要的,特别是在软件开发中。Qt是一个流行的跨平台应用程序开发框架,广泛用于创建桌面、移动以及嵌入式应用。然而,Qt库本身并不直接包含对称加密算法,如AES(高级加密标准)。因此,开发者需要通过其他方式来实现这些功能。本文将详细介绍如何在Qt环境中实现AES加密和解密。 AES是一种广泛使用的对称加密算法,它基于块密码,使用相同的密钥进行加密和解密。AES的块大小为128位,支持128、192和256位的密钥长度,提供了高安全性和快速的加密速度。 要实现在Qt中使用AES,可以借助第三方库,如OpenSSL或Qt的QCryptographicHash模块。这里我们将讨论使用QCryptographicHash配合第三方库如Crypto++的方式。确保你已经将Crypto++库集成到Qt项目中。这通常涉及下载库文件,配置编译选项,并在项目的.pro文件中添加相关链接。 以下是一个基本的AES加密和解密流程: 1. 密钥和初始化向量(IV)的准备:AES需要一个密钥和一个初始化向量。密钥应该足够随机且保密,IV则是用于增加加密的随机性,防止相同的明文数据加密后得到相同的密文。 ```cpp QByteArray key = "your-256-bit-key-here"; // 填充256位密钥 QByteArray iv = "your-random-128-bit-iv"; // 填充128位初始化向量 ``` 2. 创建AES加密器和解密器对象,通常使用CBC(Cipher Block Chaining)模式,因为它提供更好的安全性: ```cpp #include #include CryptoPP::AES::Encryption aesEncryption(key.data(), key.size()); CryptoPP::CBC_Mode_ExternalCipher::Encryption cbcEncryption(aesEncryption, iv); ``` 3. 对数据进行加密: ```cpp QByteArray plaintext = "your-plaintext-data"; QByteArray ciphertext; CryptoPP::StreamTransformationFilter stfEncryptor(cbcEncryption, new CryptoPP::ArraySink(ciphertext.data(), ciphertext.size())); stfEncryptor.Put(reinterpret_cast(plaintext.constData()), plaintext.size()); stfEncryptor.MessageEnd(); ``` 4. 解密数据: ```cpp CryptoPP::CBC_Mode_ExternalCipher::Decryption cbcDecryption(aesEncryption, iv); QByteArray decryptedtext; CryptoPP::StreamTransformationFilter stfDecryptor(cbcDecryption, new CryptoPP::ArraySink(decryptedtext.data(), decryptedtext.size())); stfDecryptor.Put(reinterpret_cast(ciphertext.constData()), ciphertext.size()); stfDecryptor.MessageEnd(); ``` 以上代码示例展示了在Qt中使用Crypto++库实现AES加密和解密的基本步骤。请注意,实际项目中可能需要处理错误,确保密钥和IV的安全存储,以及正确地管理内存和数据流。 在这个过程中,你可能会发现提供的压缩包文件"AES-Decode-Encode"包含了示例代码或者加密/解密工具,帮助你理解和实践上述过程。通过研究和修改这些代码,你可以更好地适应自己的需求,比如添加密钥生成、文件读写等功能。 虽然Qt本身不内置AES加密,但结合第三方库和Qt的现有组件,我们可以方便地实现AES加密和解密,为应用程序提供必要的安全保护。在开发过程中,务必遵循最佳实践,确保数据的完整性和安全性。
2024-07-10 16:03:45 10KB 开发语言
1
以 python 库的形式实现 NSGA-II 算法。 该实现可用于解决多变量(多于一维)多目标优化问题。目标和维度的数量不受限制。一些关键算子被选为:二元锦标赛选择、模拟二元交叉和多项式变异。请注意,我们并不是从头开始,而是修改了wreszelewski/nsga2的源代码。我们非常感谢 Wojciech Reszelewski 和 Kamil Mielnik - 这个原始版本的作者。修改了以下项目: 修正拥挤距离公式。 修改代码的某些部分以适用于任意数量的目标和维度。 将选择运算符修改为锦标赛选择。 将交叉运算符更改为模拟二元交叉。 将变异算子更改为多项式变异。 用法 班级问题 在question.py中定义。 用于定义多目标问题。 论据: objectives:函数列表,表示目标函数。 num_of_variables: 一个整数,代表变量的个数。 variables_range:两个元素的元组列表,表示每个变量的下限和上限。 same_range: 一个布尔参数,默认 = False。如果为真,则所有变量的范围都相同(这种情况下variables_range只有一个
2024-07-10 15:51:59 69KB python 源码软件 开发语言
profinet从站模块开发,caj文档类型.....
2024-07-10 15:12:53 6.57MB PROFINET CAJ格式
1
ThingsBoard 源码分析、项目结构说明、打包及二次开发说明 ThingsBoard 是一个开源的物联网平台,提供了一个完整的解决方案,用于连接和管理物联网设备。下面是对 ThingsBoard 源码分析、项目结构说明、打包及二次开发说明的详细解释。 项目框架结构 ThingsBoard 项目采用了微服务架构,主要包括了以下几个部分: * thingsboard-common:提供了通用的工具类和实用函数 * thingsboard-server:thingsboard 服务器端,负责处理设备数据和用户请求 * thingsboard-web:thingsboard Web 客户端,提供了用户界面和交互功能 * thingsboard-gateway:thingsboard 网关,负责设备数据采集和处理 每个部分都有其特定的包和依赖项,通过 Maven 管理依赖关系。 技术栈 ThingsBoard 采用了以下技术栈: * Spring Boot:用于构建微服务架构的框架 * Java:主要开发语言 * PostgreSQL:数据库管理系统 * Apache Kafka:消息队列系统 * Apache Cassandra:NoSQL 数据库 * Redis:缓存系统 部署相关说明 ThingsBoard 可以部署在不同的环境中,如云端、物理机、容器等。部署时需要考虑到性能、安全和可扩展性等因素。 项目结构说明 ThingsBoard 项目结构主要包括以下几个部分: * conf:配置文件目录 * docker:Dockerfile 文件目录 * docs:文档目录 * src:源代码目录 * target:编译输出目录 每个部分都有其特定的功能和作用。 打包说明 ThingsBoard 提供了多种打包方式,包括: * Maven 打包:使用 Maven 工具来打包项目 * Docker 打包:使用 Docker 来打包项目 * ZIP 打包:使用 ZIP 工具来打包项目 二次开发说明 ThingsBoard 提供了丰富的二次开发接口,包括: * RESTful API:提供了 RESTful 风格的 API 接口 * Webhook:提供了 Webhook 风格的 API 接口 * Rule Engine:提供了规则引擎接口 开发者可以根据需要选择合适的接口来实现二次开发。 物联网网关架构 ThingsBoard 提供了物联网网关架构,包括: * 设备管理:管理和控制设备 * 数据处理:处理和分析设备数据 * 网关管理:管理和控制网关 ThingsBoard 微服务架构 ThingsBoard 采用了微服务架构,包括: * Device Service:设备服务 * Rule Service:规则服务 * Data Service:数据服务 每个微服务都有其特定的功能和作用。 Thingsboard 产品架构 ThingsBoard 提供了完整的产品架构,包括: * 设备管理:管理和控制设备 * 数据分析:分析和处理设备数据 * 规则引擎:提供了规则引擎功能 Thingsboard 规则引擎 ThingsBoard 提供了规则引擎功能,包括: * 规则定义:定义规则 * 规则执行:执行规则 * 规则管理:管理和控制规则 规则引擎可以根据需要实现复杂的逻辑操作。 ThingsBoard Architecture ThingsBoard 提供了完整的架构设计,包括: * 设备管理:管理和控制设备 * 数据处理:处理和分析设备数据 * 规则引擎:提供了规则引擎功能 * 网关管理:管理和控制网关 ThingsBoard 的架构设计可以满足复杂的物联网应用场景。
2024-07-10 15:10:26 585KB thingsboard things
1