Vielen Dank für die Antwort!
Das sieht ja gut aus! Und das Faden funktioniert wie gewollt?
Also wie ich sehe macht der Aduino ja beim Ihren Sketch auch nichts selbständig.
Dachte erst das ich das faden im Arduino konfigurieren muss !
Fadet Ihrer auch zwischen den Werten? Sagen wir mal von 50 zu 200 etc.?
Mein Arduino muss aber mir auch andere Daten zur Verfügung stellen.
(Pir´s etc.)
Da der IPS faden soll, denke das in mein Sketch noch kaum was rein muss.
So sieht er aus:
#include <SPI.h>
#include <Ethernet.h>
#include "Mudbus.h"
Mudbus Mb;
//Function codes 1(read coils), 3(read registers), 5(write coil), 6(write register)
//signed int Mb.R[0 to 125] and bool Mb.C[0 to 128] MB_N_R MB_N_C
//Port 502 (defined in Mudbus.h) MB_PORT
void setup()
{
uint8_t mac[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
uint8_t ip[] = { 192, 168, 178, 00 };
uint8_t gateway[] = { 192, 168, 178, 1 };
uint8_t subnet[] = { 255, 255, 255, 0 };
Ethernet.begin(mac, ip, gateway, subnet);
//PWM Frequenz
//0×01 1 31.374 KHz
//0×02 8 3.921 Khz
//0×03 64 490.1 Hz // default
//0×04 256 122.5 Hz
//0×05 1024 30.63 Hz
//http://playground.arduino.cc/Main/TimerPWMCheatsheet
TCCR1A = (TCCR1A & 0xF8) | 0x01;
TCCR0A = (TCCR0A & 0xF8) | 0x01;
TCCR0B = (TCCR0B & 0xF8) | 0x01;
TCCR2B = (TCCR2B & 0xF8) | 0x01;
pinMode(0, INPUT); // Pin 0 des Mega (Digital)
pinMode(1, INPUT); // Pin 1 des Mega (Digital)
pinMode(2, OUTPUT); // Pin 2 des Mega
pinMode(3, OUTPUT); // Pin 3 des Mega
pinMode(4, OUTPUT); // Pin 4 des Mega
pinMode(5, OUTPUT); // Pin 5 des Mega
pinMode(6, OUTPUT); // Pin 6 des Mega
pinMode(7, OUTPUT); // Pin 7 des Mega
pinMode(8, OUTPUT); // Pin 8 des Mega
pinMode(9, OUTPUT); // Pin 9 des Mega
pinMode(11, OUTPUT); // Pin 11 des Mega
pinMode(12, OUTPUT); // Pin 12 des Mega
pinMode(13, OUTPUT); // Pin 13 des Mega
pinMode(45, OUTPUT); // Pin 45 des Mega, Led 10 auf der Platine und Modbus
pinMode(14, OUTPUT); // Pin 14 des Mega
pinMode(15, INPUT); // Pin 15 des Mega
pinMode(16, INPUT); // Pin 16 des Mega
pinMode(17, INPUT); // Pin 17 des Mega
pinMode(18, INPUT); // Pin 18 des Mega
pinMode(19, INPUT); // Pin 19 des Mega
pinMode(20, INPUT); // Pin 20 des Mega
pinMode(21, INPUT); // Pin 21 des Mega
pinMode(22, INPUT); // Pin 1 des Mega (Analog) Modbus = 22
pinMode(23, INPUT); // Pin 2 des Mega (Analog) Modbus = 23
pinMode(24, INPUT); // Pin 3 des Mega (Analog) Modbus = 24
pinMode(25, INPUT); // Pin 4 des Mega (Analog) Modbus = 25
}
void loop()
{
Mb.Run();
//D2 Timer Pin0
analogWrite(0, Mb.R[0]);
//D2 Timer Pin1
analogWrite(1, Mb.R[1]);
//D2 Timer Pin2
analogWrite(2, Mb.R[2]);
//D3 Timer Pin3
analogWrite(3, Mb.R[3]);
//D4 Timer Pin4
analogWrite(4, Mb.R[4]);
//D5 Timer Pin5
analogWrite(5, Mb.R[5]);
//D6 Timer Pin6
analogWrite(6, Mb.R[6]);
//D7 Timer Pin7
analogWrite(7, Mb.R[7]);
//D8 Timer Pin8
analogWrite(8, Mb.R[8]);
//D9 Timer Pin9
analogWrite(9, Mb.R[9]);
//D10 Timer Pin45
analogWrite(45, Mb.R[10]);
//D11 Timer Pin11
analogWrite(11, Mb.R[11]);
//D12 Timer Pin12
analogWrite(12, Mb.R[12]);
//D13 Timer Pin13
analogWrite(13, Mb.R[13]);
//D2 Timer Pin14
analogWrite(14, Mb.R[14]);
//D2 Timer Pin15
analogWrite(15, Mb.R[15]);
//D2 Timer Pin16
analogWrite(16, Mb.R[16]);
//D3 Timer Pin17
analogWrite(17, Mb.R[17]);
//D4 Timer Pin18
analogWrite(18, Mb.R[18]);
//D5 Timer Pin19
analogWrite(19, Mb.R[19]);
//D6 Timer Pin20
analogWrite(20, Mb.R[20]);
//D7 Timer Pin21
analogWrite(21, Mb.R[21]);
//D2 Timer Pin22 Analog 0
analogWrite(22, Mb.R[22]);
//D2 Timer Pin23 Analog 1
analogWrite(23, Mb.R[23]);
//D2 Timer Pin24 Analog 2
analogWrite(24, Mb.R[24]);
//D3 Timer Pin25 Analog 3
analogWrite(25, Mb.R[25]);
}
Mit ModbusView TCP kann ich die Werte ändern und auslesen.!
Bedanke mich nochmal für die Antwort!
Gruß