资源简介
Qt基于snap7第三方库西门子PLC通信示例,附件中包括snap7.dll、snap7.lib、Qt示例源码和配置文档

代码片段和文件信息
#include “motioncontroll.h“
#include “ui_motioncontroll.h“
#include
#include
#include “snap7.h“
MotionControll::MotionControll(QWidget *parent) :
QWidget(parent)
ui(new Ui::MotionControll)
{
ui->setupUi(this);
ptrPLC = new TS7Client();
ui->lineEdit_Distance->setDisabled(true);
ui->btn_Stop->setstyleSheet(“background:rgb(20010070)“);
m_bStatus = false;
connect(&m_timer SIGNAL(timeout()) this SLOT(readHorisonVal()));
}
MotionControll::~MotionControll()
{
delete ui;
m_timer.stop();
}
void MotionControll::on_btn_Connect_clicked()
{
if(!ptrPLC->Connected())
{
int res = ptrPLC->ConnectTo(“192.168.1.20“ 0 1);
if(!res)
{
ui->btn_Connect->setDisabled(true);
m_timer.start(500);
}
}
}
void MotionControll::on_btn_RotateStart_clicked()
{
if(ptrPLC->Connected())
{
byte buff = 1;
ptrPLC->WriteArea(0x83 1 16 1 1 &buff);
ui->btn_RotateStart->setDisabled(true);
ui->btn_RotateStop->setDisabled(false);
}
}
void MotionControll::on_btn_RotateStop_clicked()
{
if(ptrPLC->Connected())
{
byte buff = 0;
ptrPLC->WriteArea(0x83 1 16 1 1 &buff);
ui->btn_RotateStart->setDisabled(true);
ui->btn_RotateStop->setDisabled(false);
}
}
void MotionControll::on_CheckBox_DistanceSet_stateChanged(int arg1)
{
if(ui->CheckBox_DistanceSet->isChecked())
{
ui->lineEdit_Distance->setDisabled(false);
}
else
{
ui->lineEdit_Distance->setDisabled(true);
}
}
void MotionControll::on_btn_GoEnd_clicked()
{
//M201.5
if(ptrPLC->Connected())
{
byte buff = 1;
ptrPLC->WriteArea(0x83 1 1613 1 1 &buff);
buff = 0;
ptrPLC->WriteArea(0x83 1 1613 1 1 &buff);
}
}
void MotionControll::on_btn_Stop_clicked()
{
//M201.4
if(ptrPLC->Connected())
{
if(!m_bStatus)
{
byte buff = 1;
ptrPLC->WriteArea(0x83 1 1612 1 1 &buff);
ui->btn_Stop->setstyleSheet(“background:rgb(02000)“);
ui->btn_Stop->setText(“Continue“);
m_bStatus = true;
}
else
{
byte buff = 0;
ptrPLC->WriteArea(0x83 1 1612 1 1 &buff);
ui->btn_Stop->setstyleSheet(“background:rgb(20010070)“);
ui->btn_Stop->setText(“Pause“);
m_bStatus = false;
}
}
}
void MotionControll::on_btn_GoBeginMannul_pressed()
{
//M200.2
if(ptrPLC->Connected())
{
byte buff = 1;
ptrPLC->WriteArea(0x83 1 1603 1 1 &buff);
}
}
void MotionControll::on_btn_GoBeginMannul_released()
{
//M200.2
if(ptrPLC->Connected())
{
byte buff = 0;
ptrPLC->WriteArea(0x83 1 1603 1 1 &b
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-09-19 13:55 PLC通信\
文件 5230 2019-09-18 09:27 PLC通信\motioncontroll.cpp
文件 1046 2019-09-18 09:27 PLC通信\motioncontroll.h
文件 3065 2019-09-18 09:27 PLC通信\motioncontroll.ui
目录 0 2019-09-19 13:55 PLC通信\snap7\
文件 244224 2019-09-12 13:45 PLC通信\snap7\snap7.dll
文件 26188 2019-09-12 13:45 PLC通信\snap7\snap7.lib
文件 30338 2019-09-18 09:27 PLC通信\snap7.cpp
文件 41954 2019-09-18 09:27 PLC通信\snap7.h
文件 315 2019-10-05 20:18 PLC通信\库添加.txt
- 上一篇:unity ufps
- 下一篇:linux下telnet源代码
相关资源
- 欧姆龙CP1系列单轴定位PLC程序.cxp
- 用Beckhoff(倍福)PLC读写巴鲁夫RFID
- 恒压力供水(DBW-DQ-1.s7p)
- 松下FP-XH手册位置功能篇
- 松下plc FP-XH的驱动
- DELPHI与西门子200PLC的串口通信实例
- PLC上位机编程软件
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- PLC简易程序大合集
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- Siemens PLC编程精品例程11.机械手GRAPH
- 张力控制变频收卷程序
- Qt 播放音频文件
- Qt 读取16进制的data文件
- codesys编程手册中文版
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- 基于三菱PLC-松下A6伺服485通讯-读编码
- OMRON NJ系列PLC程序.smc2
- 博图plc三层电梯
- 台达PLC与485温控仪通讯
- MQTT推送Demo
评论
共有 条评论