【工控老马出品,必属精品,亲测校正,质量保证】 资源名:基于C#和SQL数据库对PLC OPC进行读写保存数据操作源码.zip 资源类型:程序源代码 源码说明: 基于C#和SQL数据库对PLC OPC进行读写保存数据操作程序 包含完整源码和注释 很适合借鉴学习 适合人群:新手及有一定经验的开发人员
2022-02-04 13:02:20 2.3MB C# PLC OPC 读写保存数据操作源码
设计一种射频识别读写器,包括射频收发芯片、巴伦电路、功率放大电路、衰减器、低通滤波器、耦合器、收发天线、微控制器模块、RS232接口和USB接口。该射频识别读写器通过优化电路的设计以及相关组件、电路和模块的合理选型,使得整个射频识别读写器的工作稳定,能够准确地进行信息读取,应用范围广,实用性强。
2022-02-04 11:46:49 654KB 射频识别
1
矮胖PNG 该库可以读取和写入PNG文件。 它是用纯Ruby编写的,以实现最大的可移植性。 我再说一遍:它不需要RMagick或任何其他内存泄漏图像库。 特征 解码PNG标准允许的任何图像。 这包括所有标准颜色模式,所有位深度,所有透明度以及隔行扫描和过滤选项。 编码图像支持所有这些颜色模式的所有颜色模式(真彩色,灰度和索引)和透明度。 根据使用的颜色数量,将自动选择最佳颜色模式。 读/写访问图像的像素。 对存储在块中的所有图像元数据进行R / W访问。 内存效率高(使用Fixnum,即每个像素使用4或8字节的内存,具体取决于硬件) 通过仅使用整数数学和高度优化的保存例程,可以快速地达到Ruby标准。 适用于当前支持的每个Ruby版本(2.5及更高版本) 如果确实需要,可以与RMagick进行互操作。 另外,请查看 ,它是一个mixin模块,该模块在C语言中实现了一些Ch
2022-02-03 21:20:28 470KB png rdoc png-decoder png-encoder
1
stm32F103 SPI软硬件读取max31865温度支持shell功能
2022-02-03 19:05:55 6.7MB stm32 shell max31865
1
STC15F2K60S2单片机读写ADS1256并LCD1602显示驱动程序源码,可以做为你的学习设计参考。 void main() { signed long Adc; float Volts; DelayMs(50); ADS1256_Init(); //ADS1256 参数初始化 LCD_Init(); while(1) { Adc = ADS1256ReadData( ADS1256_MUXP_AIN0|ADS1256_MUXN_AINCOM); Volts = Adc*0.00059453; // 0.00000059453 为系数,ADC生产出后都有一定的偏差,在此校准。 display_num4(LINE1_COLUMN(1),Volts); delay_ms(100); Adc = ADS1256ReadData( ADS1256_MUXP_AIN1|ADS1256_MUXN_AINCOM); Volts = Adc*0.00059453; // 0.00000059453 为系数,ADC生产出后都有一定的偏差,
2022-02-03 14:04:52 59KB 单片机 嵌入式硬件 ADS1256 LCD1602
C8051F120用SPI口读写铁电,铁电芯片为FM24CL04,可兼容FM25CL64,绝对好使。
2022-02-03 10:41:10 3KB C8051F120
1
Excel读写库 LibXL3.94 最新修改版易语言源码
2022-01-30 19:03:14 1.33MB Excel读写库LibXL3
采用BIN模式TCP方式,MELSOFT上位机链接,最大特点是速度超快; 附加中是VB.NET和C#代码,已经在项目中使用过了,很稳定; 支持浮点、双整数、16进制字符等数据类型; 兼容所有Windows的x86、x64系统,支持多线程;
2022-01-28 23:28:34 938KB C# PLC 三菱 Q系列
1
stm32f103的开发板,usb通过spi方式读取sd卡,在电脑端显示sd卡内容,官方的历程spi方式有问题,程序里做了修改。主要修改在SPI_MSD0_Driver.c中。
2022-01-28 16:11:17 273KB stm32 usb sd卡 spi
1
STM32F407单片机读写 MH-Z14A二氧化碳传感器模块并串口输出软件DEMO例程源码,可做为你的学习设计参考。 int main(void) { uint32_t strL; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); MX_USARTx_Init(); HMI_USARTx_Init(); /* 无限循环 */ while (1) { /* 发送读取数值指令 */ if(HAL_UART_Transmit(&husartx,&aTxBuffer[0],9,0xFFFF)==HAL_OK) /* 读取返回值 */ HAL_UART_Receive(&husartx,&aRxBuffer[0],9,0xFFFF); /* 计算气体浓度值 */ strL=aRxBuffer[2]*256+aRxBuffer[3]; HMI_value_setting("page1.t1.txt",aRxBuffer[0]); HMI_value_setting("page1.t7.txt",aRxBuffer[1]); HMI_value_setting("page1.t9.txt",aRxBuffer[2]); HMI_value_setting("page1.t11.txt",aRxBuffer[3]); HMI_value_setting("page1.t13.txt",aRxBuffer[4]); HMI_value_setting("page1.t15.txt",aRxBuffer[5]); HMI_value_setting("page1.t17.txt",aRxBuffer[6]); HMI_value_setting("page1.t19.txt",aRxBuffer[7]); HMI_value_setting("page1.t21.txt",aRxBuffer[8]); HMI_string_setting("page1.t3.txt",strL); printf("二氧化碳浓度为:%d ppm\n",strL); HAL_Delay(5000); } } /** * 函数功能: 向串口屏发送数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_value_setting(const char *val_str,uint32_t value) { uint8_t tmp_str[30]={0}; uint8_t i; sprintf((char *)tmp_str,"%s=\"%x\"",val_str,value); for(i=0;iDR=tmp_str[i]; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } /** * 函数功能: 向串口屏发送数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_string_setting(const char *val_str,int32_t value) { uint8_t tmp_str[50]={0}; uint8_t i; sprintf((char *)tmp_