USB Stick identifizieren
/// <summary>
/// Ueberprueft, ob ein USB-Stick am Panel eingesteckt ist.
/// File-Handling benötigt die "using System.IO" Direktive!
/// Pfad-Angaben für iX-Panel Speicher
/// Internal Flash: \FlashDrive\
/// FTP System: \FlashDrive\Project\Project Files\
/// USB-Stick: \Hard Disk\
/// SD Card: \Storage Card\
/// </summary>
/// <returns>true if usb memory device is inserted; false if not</returns>
public bool UsbStickExists()
{
string path = @"\Hard Disk\";
// Determine whether a USB Memory Device is connected.
if (Directory.Exists(path))
return true;
else
return false;
}
SMS per Skript versenden
Hier ein kurzes Beispiel, wie die interne SMS-Klasse zum versenden von SMS genutzt werden kann:
void Btn_01_Click(System.Object sender, System.EventArgs e)
//using Neo.ApplicationFramework.Tools.SMS;
SMSSender smsSender = new SMSSender();
smsSender.URL = @"http://mySMSServer:8080/api/current/send/message.php?username=user?password=pass&to=0041791234567&from=0041799876543&message=Blablabla?route=G1";
bool result = smsSender.Send();
if (!result)
MessageBox.Show("SMS not sent!\n" + smsSender.GenerateFailMessage(smsSender.GetErrorCode()));
else
MessageBox.Show("SMS sent successfully!");
}
ACHTUNG: da es sich um eine interne Klasse des iX Developers handelt, kann Beijer diese ohne vorankündigung verändern!
Eine schönere Methode wäre mittels der .NET eigenen Funktionalität HttpWebRequest und HttpWebResponse.
BlackList
Beijer verwendet ebenfalls für externe Assemblies für gewisse Funktionen. So z.B. die REBEX HTTPS Assemblie für SSL/TSL Verschlüsselung oder die Newtonsoft JSON Library.
Falls nun genau diese Assembies durch den Programmierer nochmals verwendet resp. eingebunden werden, besteht die Gefahr eines Konflikts. Daher setzt Beijer diese Assembies auf eine "BlackList".
C:\Program Files (x86)\Beijer Electronics AB\iX Developer 2.30\Bin\Configurations\BlackListOptionalFiles.xml
Assemblies, welche nun in dieser BlackList aufgelistet sind, werden NICHT auf das Panel übertragen. Dadurch wird der Code des Programmierers nicht ausgeführt.
Abhilfe kann hier erfolgen, indem das Assemblie aus der Blacklist entfernt wird oder wie z.B. beim Newtonsoft JSON die entsprechende Funktion (hier WebServer) im Projekt aktiviert wird, jedoch nicht verwendet.
Mitsubishi, Beijer, JVL, West, ...