Chân + PLC nối A,Chân - Nối B
Chú ý nối Jumper để nhận cổng UART-RS485
Với Chương trình PLC
Các bạn vào biểu tượng khoanh tròn để cài đặt
Cài đặt như sau
VD cơ bản để cài đặt thông số Modbus
Chương trình cơ bản như sau :
Khi X0 có tín hiệu đầu vào thì LOAD giá trị K1234 vào D0
Khi X2 có tín hiệu Bắt đầu truyền xuống PLC nạp vào ô nhớ 0
Chương trình Arduino như sau :
#include <ModbusRtu.h>
#include <EEPROM.h>
int address = 10;
byte idmb;
Modbus slave(1, 2, 0);
uint16_t au16data[50];
const int sizePwm = 7;
const int sizeAnalog =14;
const int PWMpin[]={4,44,45,46,12,11,10};
const int Analogpin[]={A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13}; //14 input analog
int16_t AnalogValue[14];
int i=0;
int pwmtemp=0;
int tl=0;
int state;
byte idmbtemp;
void setup() {
Serial.begin(9600);
Serial2.begin(9600); //Abre la comunicación como esclavo
idmb = EEPROM.read(address);
if(idmb <1)idmb=1;
if(idmb>125)idmb=125;
// slave.setID(idmb);
for(i=0; i<sizeAnalog;i++) pinMode(Analogpin[i],INPUT);
for(i=0; i<sizePwm;i++)pinMode(PWMpin[i],OUTPUT);
idmbtemp = au16data[29];
}
void loop() {
state = slave.poll( au16data,50 );
Serial.println(au16data[0]);
/*
if (millis()>tl){
tl=50;
for(i=0; i<sizeAnalog;i++)AnalogValue[i]=analogRead(Analogpin[i]);
memcpy(au16data,AnalogValue,sizeAnalog*2);
for(i=0; i<sizePwm;i++)
{
pwmtemp = map(au16data[30+i], 0, 100, 0, 255) ;
analogWrite(PWMpin[i], pwmtemp);
}
if(au16data[29]!=idmbtemp){
idmbtemp = au16data[29];
if(au16data[29] <1)idmbtemp=1;
if(au16data[29] >125)idmbtemp=125;
au16data[29]=idmbtemp;
slave.setID(idmbtemp);
EEPROM.write(address,idmbtemp);
}
}
*/
}
Khi nhận giá trị K1234 in ra màn hình COM port Serial 0
Như vậy các bạn đã kết nối thành công với Arduino PLC delta
Cảm ơn các bạn đã ghé thăm shop .