C# Makro
HMI ile C# makroları çalıştırılabilir. Her bir makro programı Main fonksiyonu içermeli ve çalıştırılacak kodlar bu fonksiyonun içine yazılmalıdır:
public void Main()
{
// Makro programının içeriği
}
Gömülü Veri Tipleri:
public enum HMI_DataFormat
{
BCD_16bit = 0,
BCD_32bit,
HEX_16bit,
HEX_32bit,
BIN_16bit,
BIN_32bit,
Unsigned_16bit,
Signed_16bit,
Unsigned_32bit,
Signed_32bit,
Float_32bit
}
public enum HMI_Alignment
{
Center = 0,
Left,
Right,
Top,
Bottom,
TopLeft,
TopRight,
BottomLeft,
BottomRight
}
Gömülü Fonksiyonlar:
/// <summary>
/// Bit boyutunda veri okuma
/// </summary>
/// <param name="address"> Okuma yapılacak adres </param>
/// <param name="data"> Okunan değerin yükleneceği değişken </param>
/// <returns> Başarılı bir şekilde okuma yapıldıysa "true" aksi halde "false"
public bool ReadBool(string address, ref bool data)
/// <summary>
/// Bit boyutunda veri yazma
/// </summary>
/// <param name="address"> Yazma yapılacak adres </param>
/// <param name="data"> Set değeri </param>
/// <returns> Başarılı bir şekilde yazma yapıldıysa "true" aksi halde "false"
public bool WriteBool(string address, bool data)
/// <summary>
/// 16-bit/32-bit veri okuma
/// </summary>
/// <param name="data_format"> Veri formatı </param>
/// <param name="address"> Okuma yapılacak adres </param>
/// <param name="data"> Okunan değerin yükleneceği değişken </param>
/// <returns> Başarılı bir şekilde okuma yapıldıysa "true" aksi halde "false"
public bool ReadNumber(HMI_DataFormat data_format, string address, ref long data)
/// <summary>
/// 16-bit/32-bit veri yazma
/// </summary>
/// <param name="data_format"> Veri formatı </param>
/// <param name="address"> Yazma yapılacak adres </param>
/// <param name="data"> Set değeri </param>
/// <returns> Başarılı bir şekilde yazma yapıldıysa "true" aksi halde "false"
public bool WriteNumber(HMI_DataFormat data_format, string address, long data)
/// <summary>
/// Karakter dizesi tipinde veri okuma
/// </summary>
/// <param name="address"> Okuma yapılacak adres </param>
/// <param name="str_word_length"> Verinin word uzunluğu </param>
/// <param name="data"> Okunan değerin yükleneceği değişken </param>
/// <returns> Başarılı bir şekilde okuma yapıldıysa "true" aksi halde "false"
public bool ReadString(string address, int str_word_length, ref string data)
/// <summary>
/// Karakter dizesi tipinde veri yazma
/// </summary>
/// <param name="address"> Yazma yapılacak adres </param>
/// <param name="str_word_length"> Verinin word uzunluğu </param>
/// <param name="data"> Set değeri </param>
/// <returns> Başarılı bir şekilde yazma yapıldıysa "true" aksi halde "false"
public bool WriteString(string address, int str_word_length, string data)
/// <summary>
/// Seçili dili değiştirir
/// </summary>
/// <param name="lang"> Seçilecek dil numarası </param>
public void ChangeLanguage(int lang)
/// <summary>
/// Seçili dili döndürür
/// </summary>
/// <returns> Seçili dil numarası </returns>
public int GetLanguage()
/// <summary>
/// Aktif pencereyi değiştirme
/// </summary>
/// <param name="window_name"> Açılmak istenen pencerenin adı </param>
public void ChangeWindow(string window_name)
/// <summary>
/// Pop-up pencere açma
/// </summary>
/// <param name="window_name"> Pop-up olarak açılmak istenen pencerenin adı </param>
public void OpenPopup(string window_name)
/// <summary>
/// Pop-up pencere açma
/// </summary>
/// <param name="window_name"> Pop-up olarak açılmak istenen pencerenin adı </param>
/// <param name="align"> Açılan pencerenin hizalama seçimi </param>
public void OpenPopup(string window_name, HMI_Alignment align)
/// <summary>
/// En üstte yer alan pop-up penceresini kapatır
/// </summary>
public void ClosePopup()
/// <summary>
/// Adı gönderilen pop-up penceresini kapatır
/// </summary>
/// <param name="window_name"> Kapatılacak pencerenin adı </param>
public void ClosePopup(string window_name)
/// <summary>
/// Uzantısı ile birlikte adı gönderilen G kod dosyasını Pulser3'e kopyalar
/// </summary>
/// <param name="file_name"> Kopyalanacak dosyanın adı </param>
public void CopyGCode(string file_name)
/// <summary>
/// Pulser3'ü resetler (Reset biti 1 ve ardından 0 yapılır)
/// </summary>
/// <param name="address"> Reset için kullanılacak adres </param>
public void Reset(string address)
/// <summary>
/// Gönderilen G kod satırını MDI modda çalıştırır
/// </summary>
/// <param name="gcode"> İşlenecek G kod satırı </param>
public void ExecuteLine(string gcode, string mdi_start_adr)
/// <summary>
/// Adresi gönderilen biti "1" yapar
/// </summary>
/// <param name="address"> Set edilecek bit adresi </param>
public void SetBit(string address)
/// <summary>
/// Adresi gönderilen biti "0" yapar
/// </summary>
/// <param name="address"> Reset edilecek bit adresi </param>
public void ResetBit(string address)
/// <summary>
/// Bekleme
/// </summary>
/// <param name="delay_time"> Bekleme değeri (milisaniye) </param>
public void Delay(int delay_time)
/// <summary>
/// Macro programını çağır
/// </summary>
/// <param name="macro_name"> Çalıştırılacak makro programının adı </param>
public void CallMacro(string macro_name)
