1465 self.ShowMethod("_showIECcode", True) |
1465 self.ShowMethod("_showIECcode", True) |
1466 |
1466 |
1467 # If IEC code gen fail, bail out. |
1467 # If IEC code gen fail, bail out. |
1468 if not IECGenRes: |
1468 if not IECGenRes: |
1469 self.logger.write_error(_("IEC-61131-3 code generation failed !\n")) |
1469 self.logger.write_error(_("IEC-61131-3 code generation failed !\n")) |
|
1470 self.EnableMethod("_Transfer", False) |
1470 return False |
1471 return False |
1471 |
1472 |
1472 # Reset variable and program list that are parsed from |
1473 # Reset variable and program list that are parsed from |
1473 # CSV file generated by IEC2C compiler. |
1474 # CSV file generated by IEC2C compiler. |
1474 self.ResetIECProgramsAndVariables() |
1475 self.ResetIECProgramsAndVariables() |
1480 buildpath, |
1481 buildpath, |
1481 self.PLCGeneratedLocatedVars) |
1482 self.PLCGeneratedLocatedVars) |
1482 except Exception, exc: |
1483 except Exception, exc: |
1483 self.logger.write_error(_("Plugins code generation failed !\n")) |
1484 self.logger.write_error(_("Plugins code generation failed !\n")) |
1484 self.logger.write_error(traceback.format_exc()) |
1485 self.logger.write_error(traceback.format_exc()) |
|
1486 self.EnableMethod("_Transfer", False) |
1485 return False |
1487 return False |
1486 |
1488 |
1487 # Get temporary directory path |
1489 # Get temporary directory path |
1488 extrafilespath = self._getExtraFilesPath() |
1490 extrafilespath = self._getExtraFilesPath() |
1489 # Remove old directory |
1491 # Remove old directory |
1515 # Insert this file as first file to be compiled at root plugin |
1517 # Insert this file as first file to be compiled at root plugin |
1516 self.LocationCFilesAndCFLAGS[0][1].insert(0,(code_path, self.plcCFLAGS)) |
1518 self.LocationCFilesAndCFLAGS[0][1].insert(0,(code_path, self.plcCFLAGS)) |
1517 except Exception, exc: |
1519 except Exception, exc: |
1518 self.logger.write_error(name+_(" generation failed !\n")) |
1520 self.logger.write_error(name+_(" generation failed !\n")) |
1519 self.logger.write_error(traceback.format_exc()) |
1521 self.logger.write_error(traceback.format_exc()) |
|
1522 self.EnableMethod("_Transfer", False) |
1520 return False |
1523 return False |
1521 |
1524 |
1522 self.logger.write(_("C code generated successfully.\n")) |
1525 self.logger.write(_("C code generated successfully.\n")) |
1523 |
1526 |
1524 # Get current or fresh builder |
1527 # Get current or fresh builder |
1525 builder = self.GetBuilder() |
1528 builder = self.GetBuilder() |
1526 if builder is None: |
1529 if builder is None: |
1527 self.logger.write_error(_("Fatal : cannot get builder.\n")) |
1530 self.logger.write_error(_("Fatal : cannot get builder.\n")) |
|
1531 self.EnableMethod("_Transfer", False) |
1528 return False |
1532 return False |
1529 |
1533 |
1530 # Build |
1534 # Build |
1531 try: |
1535 try: |
1532 if not builder.build() : |
1536 if not builder.build() : |
1533 self.logger.write_error(_("C Build failed.\n")) |
1537 self.logger.write_error(_("C Build failed.\n")) |
1534 return False |
1538 return False |
1535 except Exception, exc: |
1539 except Exception, exc: |
1536 self.logger.write_error(_("C Build crashed !\n")) |
1540 self.logger.write_error(_("C Build crashed !\n")) |
1537 self.logger.write_error(traceback.format_exc()) |
1541 self.logger.write_error(traceback.format_exc()) |
|
1542 self.EnableMethod("_Transfer", False) |
1538 return False |
1543 return False |
1539 |
1544 |
1540 self.logger.write(_("Successfully built.\n")) |
1545 self.logger.write(_("Successfully built.\n")) |
1541 # Update GUI status about need for transfer |
1546 # Update GUI status about need for transfer |
1542 self.CompareLocalAndRemotePLC() |
1547 self.CompareLocalAndRemotePLC() |